Compare commits
No commits in common. "master" and "chatIndexHandling" have entirely different histories.
master
...
chatIndexH
102
.github/workflows/main.yml
vendored
|
@ -1,102 +0,0 @@
|
||||||
name: Fernschreiber build
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
# to prevent secrets leaking,
|
|
||||||
# we don't build on PRs
|
|
||||||
#pull_request:
|
|
||||||
# branches:
|
|
||||||
# - master
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: 'true'
|
|
||||||
|
|
||||||
- name: Prepare
|
|
||||||
run: mkdir output
|
|
||||||
|
|
||||||
- name: Fetch TDLib
|
|
||||||
uses: dsaltares/fetch-gh-release-asset@master
|
|
||||||
with:
|
|
||||||
repo: "Wunderfitz/td"
|
|
||||||
file: "tdlib.zip"
|
|
||||||
target: tdlib/tdlib.zip
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Decompress TDLib
|
|
||||||
uses: TonyBogdanov/zip@1.0
|
|
||||||
with:
|
|
||||||
args: unzip -qq ./tdlib/tdlib.zip -d ./tdlib
|
|
||||||
|
|
||||||
- name: Set Secrets
|
|
||||||
uses: DamianReeves/write-file-action@master
|
|
||||||
with:
|
|
||||||
path: ./src/tdlibsecrets.h
|
|
||||||
contents: |
|
|
||||||
#ifndef TDLIBSECRETS_H
|
|
||||||
#define TDLIBSECRETS_H
|
|
||||||
const char TDLIB_API_ID[] = "${{secrets.TDLIB_API_ID}}";
|
|
||||||
const char TDLIB_API_HASH[] = "${{secrets.TDLIB_API_HASH}}";
|
|
||||||
#endif // TDLIBSECRETS_H
|
|
||||||
write-mode: overwrite
|
|
||||||
|
|
||||||
- name: Build armv7hl
|
|
||||||
id: build_armv7hl
|
|
||||||
uses: coderus/github-sfos-build@master
|
|
||||||
with:
|
|
||||||
release: 4.4.0.58
|
|
||||||
|
|
||||||
- name: Build i486
|
|
||||||
id: build_i486
|
|
||||||
uses: coderus/github-sfos-build@master
|
|
||||||
with:
|
|
||||||
release: 4.4.0.58
|
|
||||||
arch: i486
|
|
||||||
|
|
||||||
- name: Build aarch64
|
|
||||||
id: build_aarch64
|
|
||||||
uses: coderus/github-sfos-build@master
|
|
||||||
with:
|
|
||||||
release: 4.4.0.58
|
|
||||||
arch: aarch64
|
|
||||||
|
|
||||||
- name: Upload build result
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: rpm-build-result
|
|
||||||
path: RPMS
|
|
||||||
|
|
||||||
- name: Create release
|
|
||||||
if: contains(github.ref, 'v')
|
|
||||||
run: |
|
|
||||||
set -x
|
|
||||||
assets=()
|
|
||||||
for asset in RPMS/*.rpm; do
|
|
||||||
assets+=("-a" "$asset")
|
|
||||||
done
|
|
||||||
tag_name="${GITHUB_REF##*/}"
|
|
||||||
gh release create "$tag_name" "${assets[@]}"
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
|
||||||
- name: Create prerelease
|
|
||||||
if: contains(github.ref, 'pre')
|
|
||||||
run: |
|
|
||||||
set -x
|
|
||||||
assets=()
|
|
||||||
for asset in RPMS/*.rpm; do
|
|
||||||
assets+=("-a" "$asset")
|
|
||||||
done
|
|
||||||
tag_name="${GITHUB_REF##*/}"
|
|
||||||
gh release create "$tag_name" -p -n "This is a pre-release for testing purposes only. It may or may not be unstable." "${assets[@]}"
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
3
.gitignore
vendored
|
@ -53,6 +53,3 @@ compile_commands.json
|
||||||
|
|
||||||
# TDLib API Secrets
|
# TDLib API Secrets
|
||||||
tdlibsecrets.h
|
tdlibsecrets.h
|
||||||
|
|
||||||
#Convinience scripts
|
|
||||||
*.sh
|
|
||||||
|
|
35
README.md
|
@ -1,7 +1,6 @@
|
||||||
# Fernschreiber
|
# Fernschreiber
|
||||||
A Telegram client for Sailfish OS
|
A Telegram client for Sailfish OS
|
||||||
|
|
||||||
[![Fernschreiber build](https://github.com/Wunderfitz/harbour-fernschreiber/actions/workflows/main.yml/badge.svg)](https://github.com/Wunderfitz/harbour-fernschreiber/actions/workflows/main.yml)
|
|
||||||
## Authors
|
## Authors
|
||||||
Sebastian J. Wolf [sebastian@ygriega.de](mailto:sebastian@ygriega.de) and several contributors
|
Sebastian J. Wolf [sebastian@ygriega.de](mailto:sebastian@ygriega.de) and several contributors
|
||||||
|
|
||||||
|
@ -11,14 +10,9 @@ Fernschreiber wouldn't be the same without all the people helping in making it b
|
||||||
|
|
||||||
### Code (Features, Bugfixes, Optimizations etc.)
|
### Code (Features, Bugfixes, Optimizations etc.)
|
||||||
- Chat list model, chat model, notifications, TDLib receiver, animated stickers, project dependencies, qml/c++ optimizations, chatPhoto, TDLibFile, code reviews, logging categories: [Slava Monich](https://github.com/monich)
|
- Chat list model, chat model, notifications, TDLib receiver, animated stickers, project dependencies, qml/c++ optimizations, chatPhoto, TDLibFile, code reviews, logging categories: [Slava Monich](https://github.com/monich)
|
||||||
- Chat info page, performance improvements to chat page, location support, app initialization/registration with Telegram, project dependencies, emoji handling, qml/js optimizations, multi-message actions, i18n fixes, chat permission handling, code reviews, logging categories, bot support, github build: [jgibbon](https://github.com/jgibbon)
|
- Chat info page, performance improvements to chat page, location support, app initialization/registration with Telegram, project dependencies, emoji handling, qml/js optimizations, multi-message actions, i18n fixes, chat permission handling, code reviews, logging categories, bot support: [jgibbon](https://github.com/jgibbon)
|
||||||
- Copy message to clipboard: [Christian Stemmle](https://github.com/chstem)
|
- Copy message to clipboard [Christian Stemmle](https://github.com/chstem)
|
||||||
- Hide send message button if send-by-enter is switched on, focus text input on entering a chat: [santhoshmanikandan](https://github.com/santhoshmanikandan)
|
- Hide send message button if send-by-enter is switched on [santhoshmanikandan](https://github.com/santhoshmanikandan)
|
||||||
- Integration of logout and sesison options to settings page, search results optimization, highlight unread conversations: [Peter G.](https://github.com/nephros)
|
|
||||||
- Option to always append last message in notifications: [Johannes Bachmann](https://github.com/dscheinah)
|
|
||||||
- Option to jump to quoted message, widescreen UI adjustments: [Mikhail Barashkov](https://github.com/mbarashkov)
|
|
||||||
|
|
||||||
This list might not be complete. In case I forgot something/somebody, please let me know or create a PR, thanks! :)
|
|
||||||
|
|
||||||
### Logo/Icon
|
### Logo/Icon
|
||||||
- Designed by [Matteo](https://github.com/iamnomeutente), adjustments by [Slava Monich](https://github.com/monich)
|
- Designed by [Matteo](https://github.com/iamnomeutente), adjustments by [Slava Monich](https://github.com/monich)
|
||||||
|
@ -26,7 +20,6 @@ This list might not be complete. In case I forgot something/somebody, please let
|
||||||
### Translations
|
### Translations
|
||||||
- Chinese: [dashinfantry](https://github.com/dashinfantry)
|
- Chinese: [dashinfantry](https://github.com/dashinfantry)
|
||||||
- Finnish: [jorm1s](https://github.com/jorm1s)
|
- Finnish: [jorm1s](https://github.com/jorm1s)
|
||||||
- French: [Patrick Hervieux](https://github.com/pherjung), [Nicolas Bourdais](https://github.com/nbourdais)
|
|
||||||
- Hungarian: [edp17](https://github.com/edp17)
|
- Hungarian: [edp17](https://github.com/edp17)
|
||||||
- Italian: [Matteo](https://github.com/iamnomeutente)
|
- Italian: [Matteo](https://github.com/iamnomeutente)
|
||||||
- Polish: [atlochowski](https://github.com/atlochowski)
|
- Polish: [atlochowski](https://github.com/atlochowski)
|
||||||
|
@ -39,7 +32,6 @@ This list might not be complete. In case I forgot something/somebody, please let
|
||||||
Licensed under GNU GPLv3
|
Licensed under GNU GPLv3
|
||||||
|
|
||||||
## Build
|
## Build
|
||||||
### Local build
|
|
||||||
Simply clone this repository and ensure to have all [submodules](https://git-scm.com/docs/git-submodule) imported as well (e.g. by using `git submodule update --init`). Then use the project file `harbour-fernschreiber.pro` to import the sources in your SailfishOS IDE. To build and run Fernschreiber or an application which is based on Fernschreiber, you need to create the file `harbour-fernschreiber/src/tdlibsecrets.h` and enter the required constants in the following format:
|
Simply clone this repository and ensure to have all [submodules](https://git-scm.com/docs/git-submodule) imported as well (e.g. by using `git submodule update --init`). Then use the project file `harbour-fernschreiber.pro` to import the sources in your SailfishOS IDE. To build and run Fernschreiber or an application which is based on Fernschreiber, you need to create the file `harbour-fernschreiber/src/tdlibsecrets.h` and enter the required constants in the following format:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -52,39 +44,29 @@ const char TDLIB_API_HASH[] = "1234567890abcdef1234567890abcdef";
|
||||||
|
|
||||||
You get the Telegram API ID and hash as soon as you've registered your own application on [https://my.telegram.org](https://my.telegram.org).
|
You get the Telegram API ID and hash as soon as you've registered your own application on [https://my.telegram.org](https://my.telegram.org).
|
||||||
|
|
||||||
Moreover, you need to have a compiled version of [TDLib 1.8.21](https://github.com/tdlib/td) or higher in the sub-directory `tdlib`. This sub-directory must contain another sub-directory that fits to the target device architecture (e.g. armv7hl, i486). Within this directory, there needs to be a folder called `lib` that contains at least `libtdjson.so`. For armv7hl the relative path would consequently be `tdlib/armv7hl/lib`.
|
Moreover, you need to have a compiled version of [TDLib 1.7](https://github.com/tdlib/td) in the sub-directory `tdlib`. This sub-directory must contain another sub-directory that fits to the target device architecture (e.g. armv7hl, i486). Within this directory, there needs to be a folder called `lib` that contains at least `libtdjson.so`. For armv7hl the relative path would consequently be `tdlib/armv7hl/lib`.
|
||||||
|
|
||||||
You may just want to download the [tdlib.zip from our fork](https://github.com/Wunderfitz/td/releases) to just use the exact version of the latest official Fernschreiber release. To use it, you need to extract it into your local `tdlib/` folder as described above. If so, you're done and can compile Fernschreiber using the Sailfish SDK. If you want to build TDLib for yourself, please keep on reading.
|
In case you encounter strange performance issues on startup (several seconds delay, app seems to do nothing), please be sure to [follow the instructions from the respective GitHub issue](https://github.com/tdlib/td/issues/1322), i.e. let TDLib build SQLite with `-DOMIT_MEMLOCK` and be sure to comment the two lines 22558 (`#ifndef OMIT_MEMLOCK`) and 22567 (`#endif`) in the file `sqlite/sqlite/sqlite3.c`.
|
||||||
|
|
||||||
|
Moreover, TDLib 1.7 has issues loading some pinned messages in case the message database is used (which is the case in Fernschreiber). [A small patch](https://github.com/tdlib/td/commit/30d912bd4b145afb8d494b307d37645ffa21ec29) is required to make TDLib work properly in all cases. See [the respective TDLib issue](https://github.com/tdlib/td/issues/1343) for more details.
|
||||||
|
|
||||||
In case you want to use the same codebase which was used to compile the library that is shipped with Fernschreiber, please [check out the fork](https://github.com/Wunderfitz/td), be sure to use the branch `fernschreiber` and compile these sources using the following commands (be sure to have the Sailfish OS build engine running):
|
In case you want to use the same codebase which was used to compile the library that is shipped with Fernschreiber, please [check out the fork](https://github.com/Wunderfitz/td), be sure to use the branch `fernschreiber` and compile these sources using the following commands (be sure to have the Sailfish OS build engine running):
|
||||||
|
|
||||||
- `alias sfdk=~/SailfishOS/bin/sfdk`
|
- `alias sfdk=~/SailfishOS/bin/sfdk`
|
||||||
- `sfdk config target=SailfishOS-4.4.0.58-armv7hl` (this compiles the sources on SFOS 4.4 and ARM - the target needs to be adjusted according to the running SDK engine and the platform)
|
- `sfdk config target=SailfishOS-3.3.0.16-armv7hl` (this compiles the sources on SFOS 3.3 and ARM - the target needs to be adjusted according to the running SDK engine and the platform)
|
||||||
- `mkdir build`
|
- `mkdir build`
|
||||||
- `cd build`
|
- `cd build`
|
||||||
- `sfdk build-init`
|
|
||||||
- `sfdk build-shell cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=../tdlib -DTD_ENABLE_LTO=ON ..` (in case of compilation issues, try removing the flag `-DTD_ENABLE_LTO=ON`)
|
- `sfdk build-shell cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=../tdlib -DTD_ENABLE_LTO=ON ..` (in case of compilation issues, try removing the flag `-DTD_ENABLE_LTO=ON`)
|
||||||
- `sfdk build-shell cmake --build . --target install`
|
- `sfdk build-shell cmake --build . --target install`
|
||||||
|
|
||||||
You'll find the compiled library in the directory `td/tdlib`.
|
You'll find the compiled library in the directory `td/tdlib`.
|
||||||
|
|
||||||
### Github Action
|
|
||||||
Please read the "Local build" section anyway to understand what's going on before continuing. If you want to automatically build your fork on Github, you'll still need to get a Telegram API ID and hash. These are then [added as project secrets](https://docs.github.com/en/actions/reference/encrypted-secrets#creating-encrypted-secrets-for-a-repository) named `TDLIB_API_ID` and `TDLIB_API_HASH`.
|
|
||||||
|
|
||||||
By default, only commits to the master branch will be built. You may [change that for your fork](https://docs.github.com/en/actions/quickstart), but please don't create a pull request to the official repository changing the github action without consulting the [Fernschreiber contributors](https://github.com/Wunderfitz/harbour-fernschreiber/issues/162) first.
|
|
||||||
|
|
||||||
If you push a tag containing the letter "v" (for example "v0.99.3"), a github release will be created allowing easy download of the resulting rpms. If the tag is named for example "pre-0.99.3", the resulting release is marked as a pre-release for testing purposes.
|
|
||||||
|
|
||||||
|
|
||||||
## Debug
|
## Debug
|
||||||
Fernschreiber does only output a few TDLib messages by default. To get its own debug log messages, you can either run a debug build to see all of them or use the environment variable `QT_LOGGING_RULES` to specify/filter which messages you'd like to see.
|
Fernschreiber does only output a few TDLib messages by default. To get its own debug log messages, you can either run a debug build to see all of them or use the environment variable `QT_LOGGING_RULES` to specify/filter which messages you'd like to see.
|
||||||
|
|
||||||
Run `QT_LOGGING_RULES="fernschreiber.*=true" harbour-fernschreiber` to see all messages or replace the `*` with specific logging categories. You'll find the logging category inside the corresponding `.cpp` file for backend usage or you can use `JS` to only see frontend messages.
|
Run `QT_LOGGING_RULES="fernschreiber.*=true" harbour-fernschreiber` to see all messages or replace the `*` with specific logging categories. You'll find the logging category inside the corresponding `.cpp` file for backend usage or you can use `JS` to only see frontend messages.
|
||||||
|
|
||||||
You can append ` &> fernschreiber.log` to the command to create a text file containing the debug messages.
|
|
||||||
|
|
||||||
**Please be aware that debug messages will most likely include personal information** including (but not limited to) chat content and user ids/names of yourself and all your chat partners. Do not share it publicly and, at your discretion, try to remove private info even from the parts you do share with a trusted person.
|
|
||||||
|
|
||||||
## Contribute
|
## Contribute
|
||||||
|
|
||||||
If you want to contribute bug fixes, improvements, new features etc. please create a pull request (PR). PRs are always welcome and will be reviewed as soon as possible, but may take some time. :)
|
If you want to contribute bug fixes, improvements, new features etc. please create a pull request (PR). PRs are always welcome and will be reviewed as soon as possible, but may take some time. :)
|
||||||
|
@ -96,6 +78,5 @@ This project uses
|
||||||
- The Telegram Database Library (TDLib) - available on [GitHub.com](https://github.com/tdlib/td). Thanks for making it available under the conditions of the Boost Software License 1.0! Details about the license of TDLib in [its license file](https://github.com/tdlib/td/blob/master/LICENSE_1_0.txt).
|
- The Telegram Database Library (TDLib) - available on [GitHub.com](https://github.com/tdlib/td). Thanks for making it available under the conditions of the Boost Software License 1.0! Details about the license of TDLib in [its license file](https://github.com/tdlib/td/blob/master/LICENSE_1_0.txt).
|
||||||
- Emoji parsing and artwork by [Twitter Emoji (Twemoji)](http://twitter.github.io/twemoji/), copyright 2018 Twitter, Inc and other contributors, Code licensed under the [MIT License](http://opensource.org/licenses/MIT), Graphics licensed under [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
|
- Emoji parsing and artwork by [Twitter Emoji (Twemoji)](http://twitter.github.io/twemoji/), copyright 2018 Twitter, Inc and other contributors, Code licensed under the [MIT License](http://opensource.org/licenses/MIT), Graphics licensed under [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/)
|
||||||
- Animated sticker parsing and animation by [rlottie](https://github.com/Samsung/rlottie), copyright 2020 Samsung Electronics Co., Ltd. and [other contributors](https://github.com/Samsung/rlottie/blob/master/AUTHORS), Code licensed under the [MIT License](https://github.com/Samsung/rlottie/blob/master/licenses/COPYING.MIT), some rlottie components [licensed under other licenses](https://github.com/Samsung/rlottie/blob/master/COPYING).
|
- Animated sticker parsing and animation by [rlottie](https://github.com/Samsung/rlottie), copyright 2020 Samsung Electronics Co., Ltd. and [other contributors](https://github.com/Samsung/rlottie/blob/master/AUTHORS), Code licensed under the [MIT License](https://github.com/Samsung/rlottie/blob/master/licenses/COPYING.MIT), some rlottie components [licensed under other licenses](https://github.com/Samsung/rlottie/blob/master/COPYING).
|
||||||
- Reverse geocoding for location attachments by [OpenStreetMap Nominatim](https://wiki.openstreetmap.org/wiki/Nominatim).
|
|
||||||
|
|
||||||
Thanks to the maintainers of the used components and - again - all contributors to Fernschreiber!
|
Thanks to the maintainers of the used components and - again - all contributors to Fernschreiber!
|
||||||
|
|
BIN
db/emojis.db
3288
doc/emojis.md
|
@ -4,8 +4,3 @@ X-Nemo-Application-Type=silica-qt5
|
||||||
Icon=harbour-fernschreiber
|
Icon=harbour-fernschreiber
|
||||||
Exec=harbour-fernschreiber
|
Exec=harbour-fernschreiber
|
||||||
Name=Fernschreiber
|
Name=Fernschreiber
|
||||||
|
|
||||||
[X-Sailjail]
|
|
||||||
Permissions=Audio;Documents;Downloads;Internet;Location;MediaIndexing;Microphone;Music;Pictures;PublicDir;RemovableMedia;UserDirs;Videos
|
|
||||||
OrganizationName=de.ygriega
|
|
||||||
ApplicationName=fernschreiber
|
|
||||||
|
|
|
@ -22,7 +22,6 @@ DEFINES += QT_STATICPLUGIN
|
||||||
|
|
||||||
SOURCES += src/harbour-fernschreiber.cpp \
|
SOURCES += src/harbour-fernschreiber.cpp \
|
||||||
src/appsettings.cpp \
|
src/appsettings.cpp \
|
||||||
src/chatpermissionfiltermodel.cpp \
|
|
||||||
src/chatlistmodel.cpp \
|
src/chatlistmodel.cpp \
|
||||||
src/chatmodel.cpp \
|
src/chatmodel.cpp \
|
||||||
src/contactsmodel.cpp \
|
src/contactsmodel.cpp \
|
||||||
|
@ -39,14 +38,12 @@ SOURCES += src/harbour-fernschreiber.cpp \
|
||||||
src/tdlibfile.cpp \
|
src/tdlibfile.cpp \
|
||||||
src/tdlibreceiver.cpp \
|
src/tdlibreceiver.cpp \
|
||||||
src/tdlibwrapper.cpp \
|
src/tdlibwrapper.cpp \
|
||||||
src/textfiltermodel.cpp \
|
|
||||||
src/tgsplugin.cpp
|
src/tgsplugin.cpp
|
||||||
|
|
||||||
DISTFILES += qml/harbour-fernschreiber.qml \
|
DISTFILES += qml/harbour-fernschreiber.qml \
|
||||||
qml/components/AudioPreview.qml \
|
qml/components/AudioPreview.qml \
|
||||||
qml/components/BackgroundImage.qml \
|
qml/components/BackgroundImage.qml \
|
||||||
qml/components/ChatListViewItem.qml \
|
qml/components/ChatListViewItem.qml \
|
||||||
qml/components/ContactSync.qml \
|
|
||||||
qml/components/DocumentPreview.qml \
|
qml/components/DocumentPreview.qml \
|
||||||
qml/components/GamePreview.qml \
|
qml/components/GamePreview.qml \
|
||||||
qml/components/ImagePreview.qml \
|
qml/components/ImagePreview.qml \
|
||||||
|
@ -67,7 +64,6 @@ DISTFILES += qml/harbour-fernschreiber.qml \
|
||||||
qml/components/ReplyMarkupButtons.qml \
|
qml/components/ReplyMarkupButtons.qml \
|
||||||
qml/components/StickerPicker.qml \
|
qml/components/StickerPicker.qml \
|
||||||
qml/components/PhotoTextsListItem.qml \
|
qml/components/PhotoTextsListItem.qml \
|
||||||
qml/components/StickerSetOverlay.qml \
|
|
||||||
qml/components/TDLibImage.qml \
|
qml/components/TDLibImage.qml \
|
||||||
qml/components/TDLibMinithumbnail.qml \
|
qml/components/TDLibMinithumbnail.qml \
|
||||||
qml/components/TDLibPhoto.qml \
|
qml/components/TDLibPhoto.qml \
|
||||||
|
@ -96,7 +92,6 @@ DISTFILES += qml/harbour-fernschreiber.qml \
|
||||||
qml/components/inlineQueryResults/InlineQueryResultVenue.qml \
|
qml/components/inlineQueryResults/InlineQueryResultVenue.qml \
|
||||||
qml/components/inlineQueryResults/InlineQueryResultVideo.qml \
|
qml/components/inlineQueryResults/InlineQueryResultVideo.qml \
|
||||||
qml/components/inlineQueryResults/InlineQueryResultVoiceNote.qml \
|
qml/components/inlineQueryResults/InlineQueryResultVoiceNote.qml \
|
||||||
qml/components/messageContent/MessageAnimatedEmoji.qml \
|
|
||||||
qml/components/messageContent/MessageAnimation.qml \
|
qml/components/messageContent/MessageAnimation.qml \
|
||||||
qml/components/messageContent/MessageAudio.qml \
|
qml/components/messageContent/MessageAudio.qml \
|
||||||
qml/components/messageContent/MessageContentBase.qml \
|
qml/components/messageContent/MessageContentBase.qml \
|
||||||
|
@ -111,17 +106,7 @@ DISTFILES += qml/harbour-fernschreiber.qml \
|
||||||
qml/components/messageContent/MessageVideoNote.qml \
|
qml/components/messageContent/MessageVideoNote.qml \
|
||||||
qml/components/messageContent/MessageVideo.qml \
|
qml/components/messageContent/MessageVideo.qml \
|
||||||
qml/components/messageContent/MessageVoiceNote.qml \
|
qml/components/messageContent/MessageVoiceNote.qml \
|
||||||
qml/components/messageContent/SponsoredMessage.qml \
|
|
||||||
qml/components/messageContent/WebPagePreview.qml \
|
qml/components/messageContent/WebPagePreview.qml \
|
||||||
qml/components/settingsPage/Accordion.qml \
|
|
||||||
qml/components/settingsPage/AccordionItem.qml \
|
|
||||||
qml/components/settingsPage/ResponsiveGrid.qml \
|
|
||||||
qml/components/settingsPage/SettingsAppearance.qml \
|
|
||||||
qml/components/settingsPage/SettingsBehavior.qml \
|
|
||||||
qml/components/settingsPage/SettingsPrivacy.qml \
|
|
||||||
qml/components/settingsPage/SettingsSession.qml \
|
|
||||||
qml/components/settingsPage/SettingsStorage.qml \
|
|
||||||
qml/components/settingsPage/SettingsUserProfile.qml \
|
|
||||||
qml/js/debug.js \
|
qml/js/debug.js \
|
||||||
qml/js/functions.js \
|
qml/js/functions.js \
|
||||||
qml/pages/ChatInformationPage.qml \
|
qml/pages/ChatInformationPage.qml \
|
||||||
|
@ -140,6 +125,7 @@ DISTFILES += qml/harbour-fernschreiber.qml \
|
||||||
qml/pages/VideoPage.qml \
|
qml/pages/VideoPage.qml \
|
||||||
rpm/harbour-fernschreiber.changes \
|
rpm/harbour-fernschreiber.changes \
|
||||||
rpm/harbour-fernschreiber.spec \
|
rpm/harbour-fernschreiber.spec \
|
||||||
|
rpm/harbour-fernschreiber.yaml \
|
||||||
translations/*.ts \
|
translations/*.ts \
|
||||||
harbour-fernschreiber.desktop
|
harbour-fernschreiber.desktop
|
||||||
|
|
||||||
|
@ -148,7 +134,6 @@ SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 256x256
|
||||||
TRANSLATIONS += translations/harbour-fernschreiber-de.ts \
|
TRANSLATIONS += translations/harbour-fernschreiber-de.ts \
|
||||||
translations/harbour-fernschreiber-es.ts \
|
translations/harbour-fernschreiber-es.ts \
|
||||||
translations/harbour-fernschreiber-fi.ts \
|
translations/harbour-fernschreiber-fi.ts \
|
||||||
translations/harbour-fernschreiber-fr.ts \
|
|
||||||
translations/harbour-fernschreiber-hu.ts \
|
translations/harbour-fernschreiber-hu.ts \
|
||||||
translations/harbour-fernschreiber-it.ts \
|
translations/harbour-fernschreiber-it.ts \
|
||||||
translations/harbour-fernschreiber-pl.ts \
|
translations/harbour-fernschreiber-pl.ts \
|
||||||
|
@ -158,18 +143,11 @@ TRANSLATIONS += translations/harbour-fernschreiber-de.ts \
|
||||||
translations/harbour-fernschreiber-en.ts \
|
translations/harbour-fernschreiber-en.ts \
|
||||||
translations/harbour-fernschreiber-zh_CN.ts
|
translations/harbour-fernschreiber-zh_CN.ts
|
||||||
|
|
||||||
equals(QT_ARCH, arm) {
|
contains(QT_ARCH, arm) {
|
||||||
message(Building ARM)
|
|
||||||
TARGET_ARCHITECTURE = armv7hl
|
TARGET_ARCHITECTURE = armv7hl
|
||||||
}
|
} else {
|
||||||
equals(QT_ARCH, i386) {
|
|
||||||
message(Building i486)
|
|
||||||
TARGET_ARCHITECTURE = i486
|
TARGET_ARCHITECTURE = i486
|
||||||
}
|
}
|
||||||
equals(QT_ARCH, arm64){
|
|
||||||
message(Building aarch64)
|
|
||||||
TARGET_ARCHITECTURE = aarch64
|
|
||||||
}
|
|
||||||
|
|
||||||
INCLUDEPATH += $$PWD/tdlib/include
|
INCLUDEPATH += $$PWD/tdlib/include
|
||||||
DEPENDPATH += $$PWD/tdlib/include
|
DEPENDPATH += $$PWD/tdlib/include
|
||||||
|
@ -211,7 +189,6 @@ INSTALLS += telegram 86.png 108.png 128.png 172.png 256.png \
|
||||||
|
|
||||||
HEADERS += \
|
HEADERS += \
|
||||||
src/appsettings.h \
|
src/appsettings.h \
|
||||||
src/chatpermissionfiltermodel.h \
|
|
||||||
src/chatlistmodel.h \
|
src/chatlistmodel.h \
|
||||||
src/chatmodel.h \
|
src/chatmodel.h \
|
||||||
src/contactsmodel.h \
|
src/contactsmodel.h \
|
||||||
|
@ -231,7 +208,6 @@ HEADERS += \
|
||||||
src/tdlibreceiver.h \
|
src/tdlibreceiver.h \
|
||||||
src/tdlibsecrets.h \
|
src/tdlibsecrets.h \
|
||||||
src/tdlibwrapper.h \
|
src/tdlibwrapper.h \
|
||||||
src/textfiltermodel.h \
|
|
||||||
src/tgsplugin.h
|
src/tgsplugin.h
|
||||||
|
|
||||||
# https://github.com/Samsung/rlottie.git
|
# https://github.com/Samsung/rlottie.git
|
||||||
|
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.7 KiB |
|
@ -7,37 +7,37 @@
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
version="1.1"
|
|
||||||
xml:space="preserve"
|
|
||||||
width="114.66667"
|
|
||||||
height="114.66667"
|
|
||||||
viewBox="0 0 114.66667 114.66667"
|
|
||||||
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
|
||||||
sodipodi:docname="background-black.svg"
|
sodipodi:docname="background-black.svg"
|
||||||
id="svg60"><sodipodi:namedview
|
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||||
pagecolor="#ffffff"
|
viewBox="0 0 114.66667 114.66667"
|
||||||
bordercolor="#666666"
|
height="114.66667"
|
||||||
borderopacity="1"
|
width="114.66667"
|
||||||
objecttolerance="10"
|
xml:space="preserve"
|
||||||
gridtolerance="10"
|
id="svg2"
|
||||||
guidetolerance="10"
|
version="1.1"><sodipodi:namedview
|
||||||
inkscape:pageopacity="0"
|
inkscape:current-layer="svg2"
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1015"
|
|
||||||
id="namedview62"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="2.0581394"
|
|
||||||
inkscape:cx="57.333336"
|
|
||||||
inkscape:cy="57.333336"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="0"
|
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
inkscape:current-layer="g67" /><metadata
|
inkscape:window-y="0"
|
||||||
id="metadata64"><rdf:RDF><cc:Work
|
inkscape:window-x="0"
|
||||||
|
inkscape:cy="57.333336"
|
||||||
|
inkscape:cx="57.333336"
|
||||||
|
inkscape:zoom="2.0581394"
|
||||||
|
showgrid="false"
|
||||||
|
id="namedview70"
|
||||||
|
inkscape:window-height="1015"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
guidetolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
borderopacity="1"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#ffffff" /><metadata
|
||||||
|
id="metadata72"><rdf:RDF><cc:Work
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
id="defs8"><clipPath
|
id="defs12"><clipPath
|
||||||
clipPathUnits="userSpaceOnUse"
|
clipPathUnits="userSpaceOnUse"
|
||||||
id="clipPath18"><path
|
id="clipPath18"><path
|
||||||
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43"
|
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43"
|
||||||
|
@ -67,16 +67,16 @@
|
||||||
gradientUnits="userSpaceOnUse"
|
gradientUnits="userSpaceOnUse"
|
||||||
gradientTransform="matrix(-72.476372,-72.476372,72.476372,-72.476372,73.193359,73.192871)"
|
gradientTransform="matrix(-72.476372,-72.476372,72.476372,-72.476372,73.193359,73.192871)"
|
||||||
spreadMethod="pad"
|
spreadMethod="pad"
|
||||||
id="linearGradient30-529"><stop
|
id="linearGradient30-152"><stop
|
||||||
style="stop-opacity:1;stop-color:#727272;opacity:1"
|
style="stop-opacity:1;stop-color:#727272;opacity:1"
|
||||||
offset="0"
|
offset="0"
|
||||||
id="stop74" /><stop
|
id="stop3900" /><stop
|
||||||
style="stop-opacity:1;stop-color:#898989;opacity:1"
|
style="stop-opacity:1;stop-color:#898989;opacity:1"
|
||||||
offset="0.959184"
|
offset="0.959184"
|
||||||
id="stop76" /><stop
|
id="stop3902" /><stop
|
||||||
style="stop-opacity:1;stop-color:#898989;opacity:1"
|
style="stop-opacity:1;stop-color:#898989;opacity:1"
|
||||||
offset="1"
|
offset="1"
|
||||||
id="stop78" /></linearGradient><linearGradient
|
id="stop3904" /></linearGradient><linearGradient
|
||||||
x1="0"
|
x1="0"
|
||||||
y1="0"
|
y1="0"
|
||||||
x2="1"
|
x2="1"
|
||||||
|
@ -84,16 +84,16 @@
|
||||||
gradientUnits="userSpaceOnUse"
|
gradientUnits="userSpaceOnUse"
|
||||||
gradientTransform="matrix(-72.476372,-72.476372,72.476372,-72.476372,73.193359,73.192871)"
|
gradientTransform="matrix(-72.476372,-72.476372,72.476372,-72.476372,73.193359,73.192871)"
|
||||||
spreadMethod="pad"
|
spreadMethod="pad"
|
||||||
id="linearGradient30-529-824"><stop
|
id="linearGradient30-152-977"><stop
|
||||||
style="stop-opacity:1;stop-color:#8d8d8d;opacity:1"
|
style="stop-opacity:1;stop-color:#8d8d8d;opacity:1"
|
||||||
offset="0"
|
offset="0"
|
||||||
id="stop290" /><stop
|
id="stop4065" /><stop
|
||||||
style="stop-opacity:1;stop-color:#767676;opacity:1"
|
style="stop-opacity:1;stop-color:#767676;opacity:1"
|
||||||
offset="0.959184"
|
offset="0.959184"
|
||||||
id="stop292" /><stop
|
id="stop4067" /><stop
|
||||||
style="stop-opacity:1;stop-color:#767676;opacity:1"
|
style="stop-opacity:1;stop-color:#767676;opacity:1"
|
||||||
offset="1"
|
offset="1"
|
||||||
id="stop294" /></linearGradient></defs><g
|
id="stop4069" /></linearGradient></defs><g
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
inkscape:label="harbour-fernschreiber"
|
inkscape:label="harbour-fernschreiber"
|
||||||
transform="matrix(1.3333333,0,0,-1.3333333,0,114.66667)"
|
transform="matrix(1.3333333,0,0,-1.3333333,0,114.66667)"
|
||||||
|
@ -102,15 +102,15 @@
|
||||||
clip-path="url(#clipPath18)"
|
clip-path="url(#clipPath18)"
|
||||||
id="g16"><path
|
id="g16"><path
|
||||||
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43"
|
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43"
|
||||||
style="fill:url(#linearGradient30-529-824);stroke:none;opacity:1"
|
style="fill:url(#linearGradient30-152-977);stroke:none;opacity:1"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
id="path14" /></g></g><g
|
id="path14" /></g></g><g
|
||||||
transform="translate(75,43.1621)"
|
transform="translate(75,43.1621)"
|
||||||
id="g20" /><path
|
id="g20" /><path
|
||||||
style="opacity:0.9;fill:#464646;fill-opacity:1;stroke-width:0.9930262"
|
inkscape:connector-curvature="0"
|
||||||
d="M 42.700457,74.178768 C 24.766404,74.178768 10.2285,60.954638 10.2285,44.643189 V 15.107611 5.2627488 c 5.978017,0 10.823985,4.255117 10.823985,9.6909432 h 21.647972 c 17.934054,0 32.471954,13.377056 32.471954,29.689497 0,16.311449 -14.5379,29.535579 -32.471954,29.535579 z"
|
style="opacity:0.9;fill:#464646;stroke-width:0.97363532;fill-opacity:1"
|
||||||
id="path10-3"
|
d="m 43.000002,75.285148 c -17.583854,0 -31.837875,-12.9659 -31.837875,-28.958836 V 17.367476 7.7148552 c 5.861284,0 10.612625,4.1720268 10.612625,9.5017078 h 21.22525 c 17.583855,0 31.837876,13.115841 31.837876,29.109749 0,15.992936 -14.254021,28.958836 -31.837876,28.958836 z"
|
||||||
inkscape:connector-curvature="0" /><g
|
id="path10" /><g
|
||||||
id="g46"
|
id="g46"
|
||||||
transform="translate(15.3208,45.7656)"><path
|
transform="translate(15.3208,45.7656)"><path
|
||||||
d="m 0,0 c 0,-0.729 0.592,-1.322 1.323,-1.322 0.732,0 1.324,0.593 1.324,1.322 0,0.73 -0.592,1.322 -1.324,1.322 C 0.592,1.322 0,0.73 0,0"
|
d="m 0,0 c 0,-0.729 0.592,-1.322 1.323,-1.322 0.732,0 1.324,0.593 1.324,1.322 0,0.73 -0.592,1.322 -1.324,1.322 C 0.592,1.322 0,0.73 0,0"
|
||||||
|
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
@ -7,37 +7,37 @@
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
version="1.1"
|
|
||||||
xml:space="preserve"
|
|
||||||
width="114.66667"
|
|
||||||
height="114.66667"
|
|
||||||
viewBox="0 0 114.66667 114.66667"
|
|
||||||
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
|
||||||
sodipodi:docname="background-white.svg"
|
sodipodi:docname="background-white.svg"
|
||||||
id="svg60"><sodipodi:namedview
|
inkscape:version="0.92.2 5c3e80d, 2017-08-06"
|
||||||
pagecolor="#ffffff"
|
viewBox="0 0 114.66667 114.66667"
|
||||||
bordercolor="#666666"
|
height="114.66667"
|
||||||
borderopacity="1"
|
width="114.66667"
|
||||||
objecttolerance="10"
|
xml:space="preserve"
|
||||||
gridtolerance="10"
|
id="svg2"
|
||||||
guidetolerance="10"
|
version="1.1"><sodipodi:namedview
|
||||||
inkscape:pageopacity="0"
|
inkscape:current-layer="svg2"
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1920"
|
|
||||||
inkscape:window-height="1015"
|
|
||||||
id="namedview62"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="2.0581394"
|
|
||||||
inkscape:cx="57.333336"
|
|
||||||
inkscape:cy="57.333336"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="0"
|
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
inkscape:current-layer="g67" /><metadata
|
inkscape:window-y="0"
|
||||||
id="metadata64"><rdf:RDF><cc:Work
|
inkscape:window-x="0"
|
||||||
|
inkscape:cy="57.333336"
|
||||||
|
inkscape:cx="57.333336"
|
||||||
|
inkscape:zoom="2.0581394"
|
||||||
|
showgrid="false"
|
||||||
|
id="namedview70"
|
||||||
|
inkscape:window-height="1015"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
guidetolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
objecttolerance="10"
|
||||||
|
borderopacity="1"
|
||||||
|
bordercolor="#666666"
|
||||||
|
pagecolor="#ffffff" /><metadata
|
||||||
|
id="metadata72"><rdf:RDF><cc:Work
|
||||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
id="defs8"><clipPath
|
id="defs12"><clipPath
|
||||||
id="clipPath18"
|
id="clipPath18"
|
||||||
clipPathUnits="userSpaceOnUse"><path
|
clipPathUnits="userSpaceOnUse"><path
|
||||||
id="path2"
|
id="path2"
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
id="stop9"
|
id="stop9"
|
||||||
offset="1"
|
offset="1"
|
||||||
style="stop-opacity:1;stop-color:#767676;opacity:1" /></linearGradient><linearGradient
|
style="stop-opacity:1;stop-color:#767676;opacity:1" /></linearGradient><linearGradient
|
||||||
id="linearGradient30-529"
|
id="linearGradient30-152"
|
||||||
spreadMethod="pad"
|
spreadMethod="pad"
|
||||||
gradientTransform="matrix(-72.476372,-72.476372,72.476372,-72.476372,73.193359,73.192871)"
|
gradientTransform="matrix(-72.476372,-72.476372,72.476372,-72.476372,73.193359,73.192871)"
|
||||||
gradientUnits="userSpaceOnUse"
|
gradientUnits="userSpaceOnUse"
|
||||||
|
@ -68,13 +68,13 @@
|
||||||
x2="1"
|
x2="1"
|
||||||
y1="0"
|
y1="0"
|
||||||
x1="0"><stop
|
x1="0"><stop
|
||||||
id="stop74"
|
id="stop3900"
|
||||||
offset="0"
|
offset="0"
|
||||||
style="stop-opacity:1;stop-color:#8d8d8d;opacity:1" /><stop
|
style="stop-opacity:1;stop-color:#8d8d8d;opacity:1" /><stop
|
||||||
id="stop76"
|
id="stop3902"
|
||||||
offset="0.959184"
|
offset="0.959184"
|
||||||
style="stop-opacity:1;stop-color:#767676;opacity:1" /><stop
|
style="stop-opacity:1;stop-color:#767676;opacity:1" /><stop
|
||||||
id="stop78"
|
id="stop3904"
|
||||||
offset="1"
|
offset="1"
|
||||||
style="stop-opacity:1;stop-color:#767676;opacity:1" /></linearGradient></defs><g
|
style="stop-opacity:1;stop-color:#767676;opacity:1" /></linearGradient></defs><g
|
||||||
id="g67"
|
id="g67"
|
||||||
|
@ -86,14 +86,14 @@
|
||||||
clip-path="url(#clipPath18)"><path
|
clip-path="url(#clipPath18)"><path
|
||||||
id="path14"
|
id="path14"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
style="fill:url(#linearGradient30-529);stroke:none;opacity:1"
|
style="fill:url(#linearGradient30-152);stroke:none;opacity:1"
|
||||||
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43" /></g></g><g
|
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43" /></g></g><g
|
||||||
id="g20"
|
id="g20"
|
||||||
transform="translate(75,43.1621)" /><path
|
transform="translate(75,43.1621)" /><path
|
||||||
inkscape:connector-curvature="0"
|
id="path10"
|
||||||
id="path10-3"
|
d="m 43.000002,75.285148 c -17.583854,0 -31.837875,-12.9659 -31.837875,-28.958836 V 17.367476 7.7148552 c 5.861284,0 10.612625,4.1720268 10.612625,9.5017078 h 21.22525 c 17.583855,0 31.837876,13.115841 31.837876,29.109749 0,15.992936 -14.254021,28.958836 -31.837876,28.958836 z"
|
||||||
d="M 42.700457,74.178768 C 24.766404,74.178768 10.2285,60.954638 10.2285,44.643189 V 15.107611 5.2627488 c 5.978017,0 10.823985,4.255117 10.823985,9.6909432 h 21.647972 c 17.934054,0 32.471954,13.377056 32.471954,29.689497 0,16.311449 -14.5379,29.535579 -32.471954,29.535579 z"
|
style="opacity:0.9;fill:#b9b9b9;stroke-width:0.97363532;fill-opacity:1"
|
||||||
style="opacity:0.9;fill:#b9b9b9;fill-opacity:1;stroke-width:0.9930262" /><g
|
inkscape:connector-curvature="0" /><g
|
||||||
transform="translate(15.3208,45.7656)"
|
transform="translate(15.3208,45.7656)"
|
||||||
id="g46"><path
|
id="g46"><path
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
|
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
@ -5,20 +5,19 @@
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
|
id="svg2"
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
width="114.66667"
|
width="114.66667"
|
||||||
height="114.66667"
|
height="114.66667"
|
||||||
viewBox="0 0 114.66667 114.66667"
|
viewBox="0 0 114.66667 114.66667"
|
||||||
inkscape:version="0.92.4 (unknown)"
|
inkscape:version="0.92.4 (unknown)">
|
||||||
sodipodi:docname="harbour-fernschreiber-3.svg">
|
|
||||||
<defs>
|
<defs>
|
||||||
<clipPath
|
<clipPath
|
||||||
clipPathUnits="userSpaceOnUse"
|
clipPathUnits="userSpaceOnUse"
|
||||||
id="clipPath18">
|
id="clipPath18">
|
||||||
<path
|
<path
|
||||||
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43"
|
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"/>
|
||||||
id="path2" />
|
|
||||||
</clipPath>
|
</clipPath>
|
||||||
<linearGradient
|
<linearGradient
|
||||||
x1="0"
|
x1="0"
|
||||||
|
@ -31,43 +30,35 @@
|
||||||
id="linearGradient30">
|
id="linearGradient30">
|
||||||
<stop
|
<stop
|
||||||
style="stop-opacity:1;stop-color:#ec7221"
|
style="stop-opacity:1;stop-color:#ec7221"
|
||||||
offset="0"
|
offset="0"/>
|
||||||
id="stop5" />
|
|
||||||
<stop
|
<stop
|
||||||
style="stop-opacity:1;stop-color:#e7454c"
|
style="stop-opacity:1;stop-color:#e7454c"
|
||||||
offset="0.959184"
|
offset="0.959184"/>
|
||||||
id="stop7" />
|
|
||||||
<stop
|
<stop
|
||||||
style="stop-opacity:1;stop-color:#e7454c"
|
style="stop-opacity:1;stop-color:#e7454c"
|
||||||
offset="1"
|
offset="1"/>
|
||||||
id="stop9" />
|
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<g
|
<g
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
inkscape:label="harbour-fernschreiber"
|
inkscape:label="harbour-fernschreiber"
|
||||||
transform="matrix(1.3333333,0,0,-1.3333333,0,114.66667)"
|
transform="matrix(1.3333333,0,0,-1.3333333,0,114.66667)">
|
||||||
id="g67">
|
<g>
|
||||||
<g
|
<g
|
||||||
id="g18">
|
clip-path="url(#clipPath18)">
|
||||||
<g
|
|
||||||
clip-path="url(#clipPath18)"
|
|
||||||
id="g16">
|
|
||||||
<path
|
<path
|
||||||
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43"
|
d="M 0.301,43 C 0.301,42.364 0.3,1.723 0.3,1.723 v 0 C 0.3,0.938 0.938,0.3 1.723,0.3 v 0 H 43 c 23.584,0 42.7,19.117 42.7,42.7 v 0 C 85.7,66.583 66.584,85.7 43,85.7 v 0 C 19.417,85.7 0.301,66.583 0.301,43"
|
||||||
style="fill:url(#linearGradient30);stroke:none"
|
style="fill:url(#linearGradient30);stroke:none"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"/>
|
||||||
id="path14" />
|
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
transform="translate(75,43.1621)"
|
transform="translate(75,43.1621)"/>
|
||||||
id="g20" />
|
|
||||||
<path
|
<path
|
||||||
style="opacity:0.9;fill:#fcba02;fill-opacity:1;stroke-width:0.9930262"
|
inkscape:connector-curvature="0"
|
||||||
d="M 42.700457,74.178768 C 24.766404,74.178768 10.2285,60.954638 10.2285,44.643189 V 15.107611 5.2627488 c 5.978017,0 10.823985,4.255117 10.823985,9.6909432 h 21.647972 c 17.934054,0 32.471954,13.377056 32.471954,29.689497 0,16.311449 -14.5379,29.535579 -32.471954,29.535579 z"
|
style="opacity:0.9;fill:#fcba02;stroke-width:0.97363532;fill-opacity:1"
|
||||||
id="path10-3"
|
d="m 43.000002,75.285148 c -17.583854,0 -31.837875,-12.9659 -31.837875,-28.958836 V 17.367476 7.7148552 c 5.861284,0 10.612625,4.1720268 10.612625,9.5017078 h 21.22525 c 17.583855,0 31.837876,13.115841 31.837876,29.109749 0,15.992936 -14.254021,28.958836 -31.837876,28.958836 z"
|
||||||
inkscape:connector-curvature="0" /><g
|
id="path10"/><g
|
||||||
id="g46"
|
id="g46"
|
||||||
transform="translate(15.3208,45.7656)"><path
|
transform="translate(15.3208,45.7656)"><path
|
||||||
d="m 0,0 c 0,-0.729 0.592,-1.322 1.323,-1.322 0.732,0 1.324,0.593 1.324,1.322 0,0.73 -0.592,1.322 -1.324,1.322 C 0.592,1.322 0,0.73 0,0"
|
d="m 0,0 c 0,-0.729 0.592,-1.322 1.323,-1.322 0.732,0 1.324,0.593 1.324,1.322 0,0.73 -0.592,1.322 -1.324,1.322 C 0.592,1.322 0,0.73 0,0"
|
||||||
|
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 10 KiB |
|
@ -24,8 +24,6 @@ PhotoTextsListItem {
|
||||||
// message date
|
// message date
|
||||||
tertiaryText.text: showDraft ? Functions.getDateTimeElapsed(draft_message_date) : ( last_message_date ? ( last_message_date.length === 0 ? "" : Functions.getDateTimeElapsed(last_message_date) + Emoji.emojify(last_message_status, tertiaryText.font.pixelSize) ) : "" )
|
tertiaryText.text: showDraft ? Functions.getDateTimeElapsed(draft_message_date) : ( last_message_date ? ( last_message_date.length === 0 ? "" : Functions.getDateTimeElapsed(last_message_date) + Emoji.emojify(last_message_status, tertiaryText.font.pixelSize) ) : "" )
|
||||||
unreadCount: unread_count
|
unreadCount: unread_count
|
||||||
unreadReactionCount: unread_reaction_count
|
|
||||||
unreadMentionCount: unread_mention_count
|
|
||||||
isSecret: ( chat_type === TelegramAPI.ChatTypeSecret )
|
isSecret: ( chat_type === TelegramAPI.ChatTypeSecret )
|
||||||
isMarkedAsUnread: is_marked_as_unread
|
isMarkedAsUnread: is_marked_as_unread
|
||||||
isPinned: is_pinned
|
isPinned: is_pinned
|
||||||
|
@ -50,18 +48,16 @@ PhotoTextsListItem {
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
ContextMenu {
|
ContextMenu {
|
||||||
MenuItem {
|
MenuItem {
|
||||||
visible: unread_count > 0 || unread_reaction_count > 0 || unread_mention_count > 0
|
visible: unread_count > 0
|
||||||
onClicked: {
|
onClicked: {
|
||||||
tdLibWrapper.viewMessage(chat_id, display.last_message.id, true);
|
tdLibWrapper.viewMessage(chat_id, display.last_message.id, true);
|
||||||
tdLibWrapper.readAllChatMentions(chat_id);
|
|
||||||
tdLibWrapper.readAllChatReactions(chat_id);
|
|
||||||
tdLibWrapper.toggleChatIsMarkedAsUnread(chat_id, false);
|
tdLibWrapper.toggleChatIsMarkedAsUnread(chat_id, false);
|
||||||
}
|
}
|
||||||
text: qsTr("Mark all messages as read")
|
text: qsTr("Mark all messages as read")
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuItem {
|
MenuItem {
|
||||||
visible: unread_count === 0 && unread_reaction_count === 0 && unread_mention_count === 0
|
visible: unread_count === 0
|
||||||
onClicked: {
|
onClicked: {
|
||||||
tdLibWrapper.toggleChatIsMarkedAsUnread(chat_id, !is_marked_as_unread);
|
tdLibWrapper.toggleChatIsMarkedAsUnread(chat_id, !is_marked_as_unread);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,44 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
import QtQuick 2.0
|
|
||||||
//import org.nemomobile.contacts 1.0
|
|
||||||
|
|
||||||
Item {
|
|
||||||
|
|
||||||
// signal syncError();
|
|
||||||
|
|
||||||
// function synchronize() {
|
|
||||||
// if (peopleModel.count === 0) {
|
|
||||||
// appNotification.show(qsTr("Could not synchronize your contacts with Telegram."));
|
|
||||||
// syncError();
|
|
||||||
// } else {
|
|
||||||
// contactsModel.startImportingContacts();
|
|
||||||
// for (var i = 0; i < peopleModel.count; i++ ) {
|
|
||||||
// contactsModel.importContact(peopleModel.get(i));
|
|
||||||
// }
|
|
||||||
// contactsModel.stopImportingContacts();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// PeopleModel {
|
|
||||||
// id: peopleModel
|
|
||||||
// requiredProperty: PeopleModel.PhoneNumberRequired
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
|
|
@ -31,24 +31,16 @@ Row {
|
||||||
property string myUserId;
|
property string myUserId;
|
||||||
property var inReplyToMessage;
|
property var inReplyToMessage;
|
||||||
property bool editable: false;
|
property bool editable: false;
|
||||||
property bool inReplyToMessageDeleted: false;
|
|
||||||
|
|
||||||
signal clearRequested()
|
signal clearRequested()
|
||||||
|
|
||||||
onInReplyToMessageChanged: {
|
onInReplyToMessageChanged: {
|
||||||
if (inReplyToMessage) {
|
if (inReplyToMessage) {
|
||||||
inReplyToUserText.text = (inReplyToMessage.sender_id["@type"] === "messageSenderChat" ? page.chatInformation.title : (inReplyToRow.inReplyToMessage.sender_id.user_id !== inReplyToRow.myUserId) ? Emoji.emojify(Functions.getUserName(tdLibWrapper.getUserInformation(inReplyToRow.inReplyToMessage.sender_id.user_id)), inReplyToUserText.font.pixelSize) : qsTr("You"));
|
inReplyToUserText.text = (inReplyToMessage.sender["@type"] === "messageSenderChat" ? page.chatInformation.title : (inReplyToRow.inReplyToMessage.sender.user_id !== inReplyToRow.myUserId) ? Emoji.emojify(Functions.getUserName(tdLibWrapper.getUserInformation(inReplyToRow.inReplyToMessage.sender.user_id)), inReplyToUserText.font.pixelSize) : qsTr("You"));
|
||||||
inReplyToMessageText.text = Emoji.emojify(Functions.getMessageText(inReplyToRow.inReplyToMessage, true, inReplyToRow.myUserId, false), inReplyToMessageText.font.pixelSize);
|
inReplyToMessageText.text = Emoji.emojify(Functions.getMessageText(inReplyToRow.inReplyToMessage, true, inReplyToRow.myUserId, false), inReplyToMessageText.font.pixelSize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onInReplyToMessageDeletedChanged: {
|
|
||||||
if (inReplyToMessageDeleted) {
|
|
||||||
inReplyToUserText.text = qsTr("Unknown")
|
|
||||||
inReplyToMessageText.text = "<i>" + qsTr("This message was deleted") + "</i>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: inReplyToMessageRectangle
|
id: inReplyToMessageRectangle
|
||||||
height: inReplyToMessageColumn.height
|
height: inReplyToMessageColumn.height
|
||||||
|
|
|
@ -76,6 +76,7 @@ Column {
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
text: editAreaColumn.text || editAreaColumn.emptyPlaceholderText
|
text: editAreaColumn.text || editAreaColumn.emptyPlaceholderText
|
||||||
width: parent.width - editAreaButton.width
|
width: parent.width - editAreaButton.width
|
||||||
|
height: !editAreaColumn.multiLine ? implicitHeight : editAreaTextField.height
|
||||||
}
|
}
|
||||||
IconButton {
|
IconButton {
|
||||||
id: editAreaButton
|
id: editAreaButton
|
||||||
|
|
|
@ -40,7 +40,7 @@ Loader {
|
||||||
|
|
||||||
property string chatId
|
property string chatId
|
||||||
property string userName
|
property string userName
|
||||||
property bool userNameIsValid: userName !== "" && inlineBotInformation && userName.toLowerCase() === inlineBotInformation.usernames.editable_username.toLowerCase()
|
property bool userNameIsValid: userName !== "" && inlineBotInformation && userName.toLowerCase() === inlineBotInformation.username.toLowerCase()
|
||||||
property string query
|
property string query
|
||||||
property int currentOffset: 0
|
property int currentOffset: 0
|
||||||
property string responseExtra: chatId+"|"+userName+"|"+query+"|"+currentOffset
|
property string responseExtra: chatId+"|"+userName+"|"+query+"|"+currentOffset
|
||||||
|
|
|
@ -25,193 +25,56 @@ import "../js/debug.js" as Debug
|
||||||
|
|
||||||
ListItem {
|
ListItem {
|
||||||
id: messageListItem
|
id: messageListItem
|
||||||
contentHeight: messageBackground.height + Theme.paddingMedium + ( reactionsColumn.visible ? reactionsColumn.height : 0 )
|
contentHeight: messageBackground.height + Theme.paddingMedium
|
||||||
Behavior on contentHeight { NumberAnimation { duration: 200 } }
|
|
||||||
property var chatId
|
property var chatId
|
||||||
property var messageId
|
property var messageId
|
||||||
property int messageIndex
|
property int messageIndex
|
||||||
property int messageViewCount
|
property int messageViewCount
|
||||||
property var myMessage
|
property var myMessage
|
||||||
property var reactions
|
|
||||||
property bool canReplyToMessage
|
property bool canReplyToMessage
|
||||||
readonly property bool isAnonymous: myMessage.sender_id["@type"] === "messageSenderChat"
|
readonly property bool isAnonymous: myMessage.sender["@type"] === "messageSenderChat"
|
||||||
readonly property var userInformation: tdLibWrapper.getUserInformation(myMessage.sender_id.user_id)
|
readonly property var userInformation: tdLibWrapper.getUserInformation(myMessage.sender.user_id)
|
||||||
property QtObject precalculatedValues: ListView.view.precalculatedValues
|
property QtObject precalculatedValues: ListView.view.precalculatedValues
|
||||||
readonly property color textColor: isOwnMessage ? Theme.highlightColor : Theme.primaryColor
|
readonly property color textColor: isOwnMessage ? Theme.highlightColor : Theme.primaryColor
|
||||||
readonly property int textAlign: Text.AlignLeft
|
readonly property int textAlign: isOwnMessage ? Text.AlignRight : Text.AlignLeft
|
||||||
readonly property Page page: precalculatedValues.page
|
readonly property Page page: precalculatedValues.page
|
||||||
readonly property bool isSelected: messageListItem.precalculatedValues.pageIsSelecting && page.selectedMessages.some(function(existingMessage) {
|
readonly property bool isSelected: messageListItem.precalculatedValues.pageIsSelecting && page.selectedMessages.some(function(existingMessage) {
|
||||||
return existingMessage.id === messageId
|
return existingMessage.id === messageId
|
||||||
});
|
});
|
||||||
readonly property bool isOwnMessage: page.myUserId === myMessage.sender_id.user_id
|
readonly property bool isOwnMessage: page.myUserId === myMessage.sender.user_id
|
||||||
readonly property bool canDeleteMessage: myMessage.can_be_deleted_for_all_users || (myMessage.can_be_deleted_only_for_self && myMessage.chat_id === page.myUserId)
|
|
||||||
property bool hasContentComponent
|
property bool hasContentComponent
|
||||||
property bool additionalOptionsOpened
|
|
||||||
property bool wasNavigatedTo: false
|
|
||||||
|
|
||||||
readonly property var additionalItemsModel: (extraContentLoader.item && ("extraContextMenuItems" in extraContentLoader.item)) ?
|
highlighted: (down || isSelected) && !menuOpen
|
||||||
extraContentLoader.item.extraContextMenuItems : 0
|
|
||||||
readonly property int numberOfExtraOptionsOtherThanDeleteMessage:
|
|
||||||
(showCopyMessageToClipboardMenuItem ? 0 : 1) +
|
|
||||||
(showForwardMessageMenuItem ? 0 : 1) +
|
|
||||||
(page.canPinMessages() ? 1 : 0) +
|
|
||||||
(additionalItemsModel ? additionalItemsModel.length : 0)
|
|
||||||
readonly property bool deleteMessageIsOnlyExtraOption: canDeleteMessage && !numberOfExtraOptionsOtherThanDeleteMessage
|
|
||||||
|
|
||||||
readonly property int maxContextMenuItemCount: page.isPortrait ? 5 : 4
|
|
||||||
readonly property int baseContextMenuItemCount: (canReplyToMessage ? 1 : 0) +
|
|
||||||
(myMessage.can_be_edited ? 1 : 0) + 2 /* "Select Message" and "More Options..." */
|
|
||||||
readonly property bool showCopyMessageToClipboardMenuItem: (baseContextMenuItemCount + 1) <= maxContextMenuItemCount
|
|
||||||
readonly property bool showForwardMessageMenuItem: (baseContextMenuItemCount + 2) <= maxContextMenuItemCount
|
|
||||||
// And don't count "More Options..." for "Delete Message" if "Delete Message" is the only extra option
|
|
||||||
readonly property bool haveSpaceForDeleteMessageMenuItem: (baseContextMenuItemCount + 3 - (deleteMessageIsOnlyExtraOption ? 1 : 0)) <= maxContextMenuItemCount
|
|
||||||
property var chatReactions
|
|
||||||
property var messageReactions
|
|
||||||
|
|
||||||
highlighted: (down || isSelected || additionalOptionsOpened || wasNavigatedTo) && !menuOpen
|
|
||||||
openMenuOnPressAndHold: !messageListItem.precalculatedValues.pageIsSelecting
|
openMenuOnPressAndHold: !messageListItem.precalculatedValues.pageIsSelecting
|
||||||
|
|
||||||
signal replyToMessage()
|
signal replyToMessage()
|
||||||
signal editMessage()
|
signal editMessage()
|
||||||
signal forwardMessage()
|
|
||||||
|
|
||||||
function deleteMessage() {
|
|
||||||
var chatId = page.chatInformation.id
|
|
||||||
var messageId = myMessage.id
|
|
||||||
Remorse.itemAction(messageListItem, qsTr("Message deleted"), function() {
|
|
||||||
tdLibWrapper.deleteMessages(chatId, [ messageId ]);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function copyMessageToClipboard() {
|
|
||||||
Clipboard.text = Functions.getMessageText(myMessage, true, userInformation.id, true)
|
|
||||||
}
|
|
||||||
|
|
||||||
function openContextMenu() {
|
|
||||||
messageOptionsDrawer.open = false
|
|
||||||
if (menu) {
|
|
||||||
openMenu()
|
|
||||||
} else {
|
|
||||||
contextMenuLoader.active = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function getInteractionText(viewCount, reactions, size, highlightColor) {
|
|
||||||
var interactionText = "";
|
|
||||||
if (viewCount > 0) {
|
|
||||||
interactionText = Emoji.emojify("👁️ ", size) + Functions.getShortenedCount(viewCount);
|
|
||||||
}
|
|
||||||
for (var i = 0; i < reactions.length; i++) {
|
|
||||||
var reaction = reactions[i]
|
|
||||||
var reactionText = reaction.reaction ? reaction.reaction : (reaction.type && reaction.type.emoji) ? reaction.type.emoji : ""
|
|
||||||
if (reactionText) {
|
|
||||||
interactionText += ( " " + Emoji.emojify(reactionText, size) );
|
|
||||||
if (!chatPage.isPrivateChat) {
|
|
||||||
var count = Functions.getShortenedCount(reaction.total_count)
|
|
||||||
interactionText += " "
|
|
||||||
interactionText += (reaction.is_chosen ? ( "<font color='" + highlightColor + "'><b>" + count + "</b></font>" ) : count)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return interactionText;
|
|
||||||
}
|
|
||||||
|
|
||||||
function openReactions() {
|
|
||||||
if (messageListItem.chatReactions) {
|
|
||||||
Debug.log("Using chat reactions")
|
|
||||||
messageListItem.messageReactions = chatReactions
|
|
||||||
showItemCompletelyTimer.requestedIndex = index;
|
|
||||||
showItemCompletelyTimer.start();
|
|
||||||
} else {
|
|
||||||
Debug.log("Obtaining message reactions")
|
|
||||||
tdLibWrapper.getMessageAvailableReactions(messageListItem.chatId, messageListItem.messageId);
|
|
||||||
}
|
|
||||||
selectReactionBubble.visible = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getContentWidthMultiplier() {
|
|
||||||
return Functions.isWidescreen(appWindow) ? 0.4 : 1.0
|
|
||||||
}
|
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if (messageListItem.precalculatedValues.pageIsSelecting) {
|
if(messageListItem.precalculatedValues.pageIsSelecting) {
|
||||||
page.toggleMessageSelection(myMessage);
|
page.toggleMessageSelection(myMessage);
|
||||||
} else {
|
} else {
|
||||||
if (messageOptionsDrawer.sourceItem !== messageListItem) {
|
|
||||||
messageOptionsDrawer.open = false
|
|
||||||
}
|
|
||||||
// Allow extra context to react to click
|
// Allow extra context to react to click
|
||||||
var extraContent = extraContentLoader.item
|
var extraContent = extraContentLoader.item
|
||||||
if (extraContent && extraContentLoader.contains(mapToItem(extraContentLoader, mouse.x, mouse.y))) {
|
if (extraContent && ("clicked" in extraContent) && (typeof extraContent.clicked === "function") &&
|
||||||
|
mouseX >= extraContentLoader.x && mouseY >= extraContentLoader.y &&
|
||||||
|
mouseX < (extraContentLoader.x + extraContentLoader.width) &&
|
||||||
|
mouseY < (extraContentLoader.y + extraContentLoader.height)) {
|
||||||
extraContent.clicked()
|
extraContent.clicked()
|
||||||
} else if (webPagePreviewLoader.item) {
|
} else if (webPagePreviewLoader.item) {
|
||||||
webPagePreviewLoader.item.clicked()
|
webPagePreviewLoader.item.clicked()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (messageListItem.messageReactions) {
|
|
||||||
messageListItem.messageReactions = null;
|
|
||||||
selectReactionBubble.visible = false;
|
|
||||||
} else {
|
|
||||||
selectReactionBubble.visible = !selectReactionBubble.visible;
|
|
||||||
elementSelected(index);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onDoubleClicked: {
|
|
||||||
if (messageListItem.chatReactions) {
|
|
||||||
Debug.log("Using chat reactions")
|
|
||||||
messageListItem.messageReactions = chatReactions
|
|
||||||
showItemCompletelyTimer.requestedIndex = index;
|
|
||||||
showItemCompletelyTimer.start();
|
|
||||||
} else {
|
|
||||||
Debug.log("Obtaining message reactions")
|
|
||||||
tdLibWrapper.getMessageAvailableReactions(messageListItem.chatId, messageListItem.messageId);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onPressAndHold: {
|
onPressAndHold: {
|
||||||
if (openMenuOnPressAndHold) {
|
if(messageListItem.precalculatedValues.pageIsSelecting) {
|
||||||
openContextMenu()
|
page.selectedMessages = [];
|
||||||
} else {
|
|
||||||
page.selectedMessages = []
|
|
||||||
page.state = ""
|
page.state = ""
|
||||||
|
} else {
|
||||||
|
contextMenuLoader.active = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onMenuOpenChanged: {
|
|
||||||
// When opening/closing the context menu, we no longer scroll automatically
|
|
||||||
chatView.manuallyScrolledToBottom = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: additionalOptionsOpened ? messageOptionsDrawer : null
|
|
||||||
onOpenChanged: {
|
|
||||||
if (!messageOptionsDrawer.open) {
|
|
||||||
additionalOptionsOpened = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: chatPage
|
|
||||||
onResetElements: {
|
|
||||||
messageListItem.messageReactions = null;
|
|
||||||
selectReactionBubble.visible = false;
|
|
||||||
}
|
|
||||||
onElementSelected: {
|
|
||||||
if (elementIndex !== index) {
|
|
||||||
selectReactionBubble.visible = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onNavigatedTo: {
|
|
||||||
if (targetIndex === index) {
|
|
||||||
messageListItem.wasNavigatedTo = true;
|
|
||||||
restoreNormalityTimer.start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
id: contextMenuLoader
|
id: contextMenuLoader
|
||||||
active: false
|
active: false
|
||||||
|
@ -224,50 +87,58 @@ ListItem {
|
||||||
}
|
}
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
ContextMenu {
|
ContextMenu {
|
||||||
|
Repeater {
|
||||||
|
model: (extraContentLoader.item && ("extraContextMenuItems" in extraContentLoader.item)) ?
|
||||||
|
extraContentLoader.item.extraContextMenuItems : 0
|
||||||
|
delegate: MenuItem {
|
||||||
|
visible: modelData.visible
|
||||||
|
text: modelData.name
|
||||||
|
onClicked: modelData.action()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
MenuItem {
|
MenuItem {
|
||||||
visible: canReplyToMessage
|
visible: messageListItem.canReplyToMessage
|
||||||
onClicked: replyToMessage()
|
onClicked: messageListItem.replyToMessage()
|
||||||
text: qsTr("Reply to Message")
|
text: qsTr("Reply to Message")
|
||||||
}
|
}
|
||||||
MenuItem {
|
MenuItem {
|
||||||
visible: typeof myMessage.can_be_edited !== "undefined" && myMessage.can_be_edited
|
visible: myMessage.can_be_edited
|
||||||
onClicked: editMessage()
|
onClicked: messageListItem.editMessage()
|
||||||
text: qsTr("Edit Message")
|
text: qsTr("Edit Message")
|
||||||
}
|
}
|
||||||
MenuItem {
|
MenuItem {
|
||||||
onClicked: page.toggleMessageSelection(myMessage)
|
onClicked: {
|
||||||
text: qsTr("Select Message")
|
Clipboard.text = Functions.getMessageText(myMessage, true, userInformation.id, true);
|
||||||
}
|
}
|
||||||
MenuItem {
|
|
||||||
visible: showCopyMessageToClipboardMenuItem
|
|
||||||
onClicked: copyMessageToClipboard()
|
|
||||||
text: qsTr("Copy Message to Clipboard")
|
text: qsTr("Copy Message to Clipboard")
|
||||||
}
|
}
|
||||||
MenuItem {
|
MenuItem {
|
||||||
visible: showForwardMessageMenuItem
|
|
||||||
onClicked: forwardMessage()
|
|
||||||
text: qsTr("Forward Message")
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
visible: canDeleteMessage && haveSpaceForDeleteMessageMenuItem
|
|
||||||
onClicked: deleteMessage()
|
|
||||||
text: qsTr("Delete Message")
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
visible: (numberOfExtraOptionsOtherThanDeleteMessage > 0) ||
|
|
||||||
(deleteMessageIsOnlyExtraOption && !haveSpaceForDeleteMessageMenuItem)
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
messageOptionsDrawer.myMessage = myMessage;
|
page.toggleMessageSelection(myMessage);
|
||||||
messageOptionsDrawer.userInformation = userInformation;
|
|
||||||
messageOptionsDrawer.sourceItem = messageListItem
|
|
||||||
messageOptionsDrawer.additionalItemsModel = additionalItemsModel
|
|
||||||
messageOptionsDrawer.showCopyMessageToClipboardMenuItem = !showCopyMessageToClipboardMenuItem
|
|
||||||
messageOptionsDrawer.showForwardMessageMenuItem = !showForwardMessageMenuItem
|
|
||||||
messageOptionsDrawer.showDeleteMessageMenuItem = canDeleteMessage && !haveSpaceForDeleteMessageMenuItem
|
|
||||||
messageListItem.additionalOptionsOpened = true;
|
|
||||||
messageOptionsDrawer.open = true;
|
|
||||||
}
|
}
|
||||||
text: qsTr("More Options...")
|
text: qsTr("Select Message")
|
||||||
|
}
|
||||||
|
MenuItem {
|
||||||
|
onClicked: {
|
||||||
|
if (myMessage.is_pinned) {
|
||||||
|
Remorse.popupAction(page, qsTr("Message unpinned"), function() { tdLibWrapper.unpinMessage(page.chatInformation.id, messageId);
|
||||||
|
pinnedMessageItem.requestCloseMessage(); } );
|
||||||
|
} else {
|
||||||
|
tdLibWrapper.pinMessage(page.chatInformation.id, messageId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
text: myMessage.is_pinned ? qsTr("Unpin Message") : qsTr("Pin Message")
|
||||||
|
visible: canPinMessages()
|
||||||
|
}
|
||||||
|
MenuItem {
|
||||||
|
onClicked: {
|
||||||
|
var chatId = page.chatInformation.id;
|
||||||
|
var messageId = messageListItem.messageId;
|
||||||
|
Remorse.itemAction(messageListItem, qsTr("Message deleted"), function() { tdLibWrapper.deleteMessages(chatId, [ messageId]); })
|
||||||
|
}
|
||||||
|
text: qsTr("Delete Message")
|
||||||
|
visible: myMessage.can_be_deleted_for_all_users || (myMessage.can_be_deleted_only_for_self && myMessage.chat_id === page.myUserId)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -276,16 +147,16 @@ ListItem {
|
||||||
Connections {
|
Connections {
|
||||||
target: chatModel
|
target: chatModel
|
||||||
onMessagesReceived: {
|
onMessagesReceived: {
|
||||||
messageBackground.isUnread = index > chatModel.getLastReadMessageIndex() && myMessage['@type'] !== "sponsoredMessage";
|
messageBackground.isUnread = index > chatModel.getLastReadMessageIndex();
|
||||||
}
|
}
|
||||||
onMessagesIncrementalUpdate: {
|
onMessagesIncrementalUpdate: {
|
||||||
messageBackground.isUnread = index > chatModel.getLastReadMessageIndex() && myMessage['@type'] !== "sponsoredMessage";
|
messageBackground.isUnread = index > chatModel.getLastReadMessageIndex();
|
||||||
}
|
}
|
||||||
onNewMessageReceived: {
|
onNewMessageReceived: {
|
||||||
messageBackground.isUnread = index > chatModel.getLastReadMessageIndex() && myMessage['@type'] !== "sponsoredMessage";
|
messageBackground.isUnread = index > chatModel.getLastReadMessageIndex();
|
||||||
}
|
}
|
||||||
onUnreadCountUpdated: {
|
onUnreadCountUpdated: {
|
||||||
messageBackground.isUnread = index > chatModel.getLastReadMessageIndex() && myMessage['@type'] !== "sponsoredMessage";
|
messageBackground.isUnread = index > chatModel.getLastReadMessageIndex();
|
||||||
}
|
}
|
||||||
onLastReadSentMessageUpdated: {
|
onLastReadSentMessageUpdated: {
|
||||||
Debug.log("[ChatModel] Messages in this chat were read, new last read: ", lastReadSentIndex, ", updating description for index ", index, ", status: ", (index <= lastReadSentIndex));
|
Debug.log("[ChatModel] Messages in this chat were read, new last read: ", lastReadSentIndex, ", updating description for index ", index, ", status: ", (index <= lastReadSentIndex));
|
||||||
|
@ -302,68 +173,16 @@ ListItem {
|
||||||
}
|
}
|
||||||
onMessageNotFound: {
|
onMessageNotFound: {
|
||||||
if (messageId === myMessage.reply_to_message_id) {
|
if (messageId === myMessage.reply_to_message_id) {
|
||||||
messageInReplyToLoader.inReplyToMessageDeleted = true;
|
messageInReplyToLoader.active = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onAvailableReactionsReceived: {
|
|
||||||
if (messageListItem.messageId === messageId &&
|
|
||||||
pageStack.currentPage === chatPage) {
|
|
||||||
Debug.log("Available reactions for this message: " + reactions);
|
|
||||||
messageListItem.messageReactions = reactions;
|
|
||||||
showItemCompletelyTimer.requestedIndex = index;
|
|
||||||
showItemCompletelyTimer.start();
|
|
||||||
} else {
|
|
||||||
messageListItem.messageReactions = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onReactionsUpdated: {
|
|
||||||
chatReactions = tdLibWrapper.getChatReactions(page.chatInformation.id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Timer {
|
|
||||||
id: showItemCompletelyTimer
|
|
||||||
|
|
||||||
property int requestedIndex: (chatView.count - 1)
|
|
||||||
|
|
||||||
repeat: false
|
|
||||||
running: false
|
|
||||||
interval: 200
|
|
||||||
triggeredOnStart: false
|
|
||||||
onTriggered: {
|
|
||||||
Debug.log("Show item completely timer triggered, requested index: " + requestedIndex + ", current index: " + index)
|
|
||||||
if (requestedIndex === index) {
|
|
||||||
var p = chatView.contentItem.mapFromItem(reactionsColumn, 0, 0)
|
|
||||||
if (chatView.contentY > p.y || p.y + reactionsColumn.height > chatView.contentY + chatView.height) {
|
|
||||||
Debug.log("Moving reactions for item at", requestedIndex, "info the view")
|
|
||||||
chatView.highlightMoveDuration = -1
|
|
||||||
chatView.highlightResizeDuration = -1
|
|
||||||
chatView.scrollToIndex(requestedIndex, height <= chatView.height ? ListView.Contain : ListView.End)
|
|
||||||
chatView.highlightMoveDuration = 0
|
|
||||||
chatView.highlightResizeDuration = 0
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Timer {
|
|
||||||
id: restoreNormalityTimer
|
|
||||||
|
|
||||||
repeat: false
|
|
||||||
running: false
|
|
||||||
interval: 1000
|
|
||||||
triggeredOnStart: false
|
|
||||||
onTriggered: {
|
|
||||||
Debug.log("Restore normality for index " + index);
|
|
||||||
messageListItem.wasNavigatedTo = false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
delegateComponentLoadingTimer.start();
|
delegateComponentLoadingTimer.start();
|
||||||
if (myMessage.reply_to_message_id) {
|
|
||||||
tdLibWrapper.getMessage(myMessage.reply_in_chat_id ? myMessage.reply_in_chat_id : page.chatInformation.id,
|
if (myMessage.reply_to_message_id !== 0) {
|
||||||
myMessage.reply_to_message_id)
|
tdLibWrapper.getMessage(page.chatInformation.id, myMessage.reply_to_message_id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -401,10 +220,7 @@ ListItem {
|
||||||
id: messageTextRow
|
id: messageTextRow
|
||||||
spacing: Theme.paddingSmall
|
spacing: Theme.paddingSmall
|
||||||
width: precalculatedValues.entryWidth
|
width: precalculatedValues.entryWidth
|
||||||
anchors.horizontalCenter: Functions.isWidescreen(appWindow) ? undefined : parent.horizontalCenter
|
anchors.centerIn: parent
|
||||||
anchors.left: Functions.isWidescreen(appWindow) ? parent.left : undefined
|
|
||||||
y: Theme.paddingSmall
|
|
||||||
anchors.leftMargin: Functions.isWidescreen(appWindow) ? Theme.paddingMedium : undefined
|
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
id: profileThumbnailLoader
|
id: profileThumbnailLoader
|
||||||
|
@ -444,16 +260,16 @@ ListItem {
|
||||||
|
|
||||||
anchors {
|
anchors {
|
||||||
left: parent.left
|
left: parent.left
|
||||||
leftMargin: page.isPrivateChat ? (messageListItem.isOwnMessage ? precalculatedValues.pageMarginDouble : 0) : 0 //левый марджин для собственных сообщений в приватных чатах. В остальных на полную ширину
|
leftMargin: messageListItem.isOwnMessage ? precalculatedValues.pageMarginDouble : 0
|
||||||
verticalCenter: parent.verticalCenter
|
verticalCenter: parent.verticalCenter
|
||||||
}
|
}
|
||||||
height: messageTextColumn.height + precalculatedValues.paddingMediumDouble
|
height: messageTextColumn.height + precalculatedValues.paddingMediumDouble
|
||||||
width: precalculatedValues.backgroundWidth
|
width: precalculatedValues.backgroundWidth
|
||||||
property bool isUnread: index > chatModel.getLastReadMessageIndex() && myMessage['@type'] !== "sponsoredMessage"
|
property bool isUnread: index > chatModel.getLastReadMessageIndex()
|
||||||
color: Theme.colorScheme === Theme.LightOnDark ? (isOwnMessage ? Theme.highlightBackgroundColor : (isUnread ? Theme.secondaryHighlightColor : Theme.secondaryColor)) : (isOwnMessage ? Theme.highlightBackgroundColor : (isUnread ? Theme.backgroundGlowColor : Theme.overlayBackgroundColor))
|
color: Theme.colorScheme === Theme.LightOnDark ? (isUnread ? Theme.secondaryHighlightColor : Theme.secondaryColor) : (isUnread ? Theme.backgroundGlowColor : Theme.overlayBackgroundColor)
|
||||||
radius: parent.width / 50
|
radius: parent.width / 50
|
||||||
opacity: isUnread ? 0.5 : 0.2
|
opacity: isUnread ? 0.5 : 0.2
|
||||||
visible: appSettings.showStickersAsImages || (myMessage.content['@type'] !== "messageSticker" && myMessage.content['@type'] !== "messageAnimatedEmoji")
|
visible: appSettings.showStickersAsImages || myMessage.content['@type'] !== "messageSticker"
|
||||||
Behavior on color { ColorAnimation { duration: 200 } }
|
Behavior on color { ColorAnimation { duration: 200 } }
|
||||||
Behavior on opacity { FadeAnimation {} }
|
Behavior on opacity { FadeAnimation {} }
|
||||||
}
|
}
|
||||||
|
@ -471,7 +287,7 @@ ListItem {
|
||||||
id: userText
|
id: userText
|
||||||
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
text: messageListItem.isOwnMessage ? qsTr("You") : Emoji.emojify( myMessage['@type'] === "sponsoredMessage" ? tdLibWrapper.getChat(myMessage.sponsor_chat_id).title : ( messageListItem.isAnonymous ? page.chatInformation.title : Functions.getUserName(messageListItem.userInformation) ), font.pixelSize)
|
text: messageListItem.isOwnMessage ? qsTr("You") : Emoji.emojify(messageListItem.isAnonymous ? page.chatInformation.title : Functions.getUserName(messageListItem.userInformation), font.pixelSize)
|
||||||
font.pixelSize: Theme.fontSizeExtraSmall
|
font.pixelSize: Theme.fontSizeExtraSmall
|
||||||
font.weight: Font.ExtraBold
|
font.weight: Font.ExtraBold
|
||||||
color: messageListItem.textColor
|
color: messageListItem.textColor
|
||||||
|
@ -479,7 +295,7 @@ ListItem {
|
||||||
truncationMode: TruncationMode.Fade
|
truncationMode: TruncationMode.Fade
|
||||||
textFormat: Text.StyledText
|
textFormat: Text.StyledText
|
||||||
horizontalAlignment: messageListItem.textAlign
|
horizontalAlignment: messageListItem.textAlign
|
||||||
visible: messageListItem.isOwnMessage ? false : (precalculatedValues.showUserInfo || myMessage['@type'] === "sponsoredMessage")
|
visible: precalculatedValues.showUserInfo
|
||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
enabled: !(messageListItem.precalculatedValues.pageIsSelecting || messageListItem.isAnonymous)
|
enabled: !(messageListItem.precalculatedValues.pageIsSelecting || messageListItem.isAnonymous)
|
||||||
|
@ -495,12 +311,11 @@ ListItem {
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
id: messageInReplyToLoader
|
id: messageInReplyToLoader
|
||||||
active: typeof myMessage.reply_to_message_id !== "undefined" && myMessage.reply_to_message_id !== 0
|
active: myMessage.reply_to_message_id !== 0
|
||||||
width: parent.width
|
width: parent.width
|
||||||
// text height ~= 1,28*font.pixelSize
|
// text height ~= 1,28*font.pixelSize
|
||||||
height: active ? precalculatedValues.messageInReplyToHeight : 0
|
height: active ? precalculatedValues.messageInReplyToHeight : 0
|
||||||
property var inReplyToMessage;
|
property var inReplyToMessage;
|
||||||
property bool inReplyToMessageDeleted: false;
|
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
Item {
|
Item {
|
||||||
width: messageInReplyToRow.width
|
width: messageInReplyToRow.width
|
||||||
|
@ -508,31 +323,14 @@ ListItem {
|
||||||
InReplyToRow {
|
InReplyToRow {
|
||||||
id: messageInReplyToRow
|
id: messageInReplyToRow
|
||||||
myUserId: page.myUserId
|
myUserId: page.myUserId
|
||||||
layer.enabled: messageInReplyToMouseArea.pressed && !messageListItem.highlighted && !messageListItem.menuOpen
|
visible: true
|
||||||
layer.effect: PressEffect { source: messageInReplyToRow }
|
|
||||||
inReplyToMessage: messageInReplyToLoader.inReplyToMessage
|
inReplyToMessage: messageInReplyToLoader.inReplyToMessage
|
||||||
inReplyToMessageDeleted: messageInReplyToLoader.inReplyToMessageDeleted
|
|
||||||
}
|
}
|
||||||
MouseArea {
|
MouseArea {
|
||||||
id: messageInReplyToMouseArea
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if (precalculatedValues.pageIsSelecting) {
|
messageOverlayLoader.overlayMessage = messageInReplyToRow.inReplyToMessage;
|
||||||
page.toggleMessageSelection(myMessage)
|
messageOverlayLoader.active = true;
|
||||||
} else {
|
|
||||||
messageOptionsDrawer.open = false
|
|
||||||
if(appSettings.goToQuotedMessage) {
|
|
||||||
chatPage.showMessage(messageInReplyToRow.inReplyToMessage.id, true)
|
|
||||||
} else {
|
|
||||||
messageOverlayLoader.active = true
|
|
||||||
messageOverlayLoader.overlayMessage = messageInReplyToRow.inReplyToMessage
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onPressAndHold: {
|
|
||||||
if (openMenuOnPressAndHold) {
|
|
||||||
openContextMenu()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -552,12 +350,11 @@ ListItem {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
var originType = myMessage.forward_info.origin["@type"]
|
if (myMessage.forward_info.origin["@type"] === "messageForwardOriginChannel") {
|
||||||
if (originType === "messageOriginChannel" || originType === "messageForwardOriginChannel") {
|
|
||||||
var otherChatInformation = tdLibWrapper.getChat(myMessage.forward_info.origin.chat_id);
|
var otherChatInformation = tdLibWrapper.getChat(myMessage.forward_info.origin.chat_id);
|
||||||
forwardedThumbnail.photoData = (typeof otherChatInformation.photo !== "undefined") ? otherChatInformation.photo.small : {};
|
forwardedThumbnail.photoData = (typeof otherChatInformation.photo !== "undefined") ? otherChatInformation.photo.small : {};
|
||||||
forwardedChannelText.text = Emoji.emojify(otherChatInformation.title, Theme.fontSizeExtraSmall);
|
forwardedChannelText.text = Emoji.emojify(otherChatInformation.title, Theme.fontSizeExtraSmall);
|
||||||
} else if (originType === "messageOriginUser" || originType === "messageForwardOriginUser") {
|
} else if (myMessage.forward_info.origin["@type"] === "messageForwardOriginUser") {
|
||||||
var otherUserInformation = tdLibWrapper.getUserInformation(myMessage.forward_info.origin.sender_user_id);
|
var otherUserInformation = tdLibWrapper.getUserInformation(myMessage.forward_info.origin.sender_user_id);
|
||||||
forwardedThumbnail.photoData = (typeof otherUserInformation.profile_photo !== "undefined") ? otherUserInformation.profile_photo.small : {};
|
forwardedThumbnail.photoData = (typeof otherUserInformation.profile_photo !== "undefined") ? otherUserInformation.profile_photo.small : {};
|
||||||
forwardedChannelText.text = Emoji.emojify(Functions.getUserName(otherUserInformation), Theme.fontSizeExtraSmall);
|
forwardedChannelText.text = Emoji.emojify(Functions.getUserName(otherUserInformation), Theme.fontSizeExtraSmall);
|
||||||
|
@ -619,26 +416,11 @@ ListItem {
|
||||||
visible: (text !== "")
|
visible: (text !== "")
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
|
||||||
id: sponsoredMessageButtonLoader
|
|
||||||
active: myMessage['@type'] === "sponsoredMessage"
|
|
||||||
asynchronous: true
|
|
||||||
width: parent.width
|
|
||||||
height: (status === Loader.Ready) ? item.implicitHeight : myMessage['@type'] === "sponsoredMessage" ? Theme.itemSizeMedium : 0
|
|
||||||
|
|
||||||
sourceComponent: Component {
|
|
||||||
SponsoredMessage {
|
|
||||||
sponsoredMessageData: myMessage
|
|
||||||
width: parent.width
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
id: webPagePreviewLoader
|
id: webPagePreviewLoader
|
||||||
active: false
|
active: false
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
width: parent.width * getContentWidthMultiplier()
|
width: parent.width
|
||||||
height: (status === Loader.Ready) ? item.implicitHeight : myMessage.content.web_page ? precalculatedValues.webPagePreviewHeight : 0
|
height: (status === Loader.Ready) ? item.implicitHeight : myMessage.content.web_page ? precalculatedValues.webPagePreviewHeight : 0
|
||||||
|
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
|
@ -652,7 +434,7 @@ ListItem {
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
id: extraContentLoader
|
id: extraContentLoader
|
||||||
width: parent.width * getContentWidthMultiplier()
|
width: parent.width
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
height: item ? item.height : (messageListItem.hasContentComponent ? chatView.getContentComponentHeight(model.content_type, myMessage.content, width) : 0)
|
height: item ? item.height : (messageListItem.hasContentComponent ? chatView.getContentComponentHeight(model.content_type, myMessage.content, width) : 0)
|
||||||
}
|
}
|
||||||
|
@ -683,6 +465,7 @@ ListItem {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
|
||||||
|
@ -693,6 +476,7 @@ ListItem {
|
||||||
color: messageListItem.isOwnMessage ? Theme.secondaryHighlightColor : Theme.secondaryColor
|
color: messageListItem.isOwnMessage ? Theme.secondaryHighlightColor : Theme.secondaryColor
|
||||||
horizontalAlignment: messageListItem.textAlign
|
horizontalAlignment: messageListItem.textAlign
|
||||||
text: getMessageStatusText(myMessage, index, chatView.lastReadSentIndex, messageDateText.useElapsed)
|
text: getMessageStatusText(myMessage, index, chatView.lastReadSentIndex, messageDateText.useElapsed)
|
||||||
|
rightPadding: interactionLoader.active ? interactionLoader.width : 0
|
||||||
MouseArea {
|
MouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
enabled: !messageListItem.precalculatedValues.pageIsSelecting
|
enabled: !messageListItem.precalculatedValues.pageIsSelecting
|
||||||
|
@ -701,27 +485,35 @@ ListItem {
|
||||||
messageDateText.text = getMessageStatusText(myMessage, index, chatView.lastReadSentIndex, messageDateText.useElapsed);
|
messageDateText.text = getMessageStatusText(myMessage, index, chatView.lastReadSentIndex, messageDateText.useElapsed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
id: interactionLoader
|
id: interactionLoader
|
||||||
width: parent.width
|
height: parent.height
|
||||||
|
anchors.right: parent.right
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
active: ( chatPage.isChannel && messageViewCount > 0 ) || reactions.length > 0
|
active: chatPage.isChannel && messageViewCount
|
||||||
height: ( ( chatPage.isChannel && messageViewCount > 0 ) || reactions.length > 0 ) ? ( Theme.fontSizeExtraSmall + Theme.paddingSmall ) : 0
|
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
Label {
|
Label {
|
||||||
text: getInteractionText(messageViewCount, reactions, font.pixelSize, Theme.highlightColor)
|
text: Functions.getShortenedCount(messageViewCount)
|
||||||
width: parent.width
|
leftPadding: Theme.iconSizeSmall
|
||||||
font.pixelSize: Theme.fontSizeTiny
|
font.pixelSize: Theme.fontSizeTiny
|
||||||
color: messageListItem.isOwnMessage ? Theme.secondaryHighlightColor : Theme.secondaryColor
|
color: Theme.secondaryColor
|
||||||
horizontalAlignment: messageListItem.textAlign
|
Icon {
|
||||||
textFormat: Text.StyledText
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
maximumLineCount: 1
|
width: Theme.iconSizeExtraSmall
|
||||||
elide: Text.ElideRight
|
height: Theme.iconSizeExtraSmall
|
||||||
|
opacity: 0.6
|
||||||
|
source: "../../images/icon-s-eye.svg"
|
||||||
|
sourceSize {
|
||||||
|
width: Theme.iconSizeExtraSmall
|
||||||
|
height: Theme.iconSizeExtraSmall
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -729,59 +521,4 @@ ListItem {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Column {
|
|
||||||
id: reactionsColumn
|
|
||||||
width: parent.width - ( 2 * Theme.horizontalPageMargin )
|
|
||||||
anchors.top: messageTextRow.bottom
|
|
||||||
anchors.topMargin: Theme.paddingSmall
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
visible: messageListItem.messageReactions ? ( messageListItem.messageReactions.length > 0 ? true : false ) : false
|
|
||||||
opacity: messageListItem.messageReactions ? ( messageListItem.messageReactions.length > 0 ? 1 : 0 ) : 0
|
|
||||||
Behavior on opacity { NumberAnimation {} }
|
|
||||||
spacing: Theme.paddingMedium
|
|
||||||
|
|
||||||
Flickable {
|
|
||||||
width: parent.width
|
|
||||||
height: reactionsResultRow.height + Theme.paddingSmall
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
contentWidth: reactionsResultRow.width
|
|
||||||
clip: true
|
|
||||||
Row {
|
|
||||||
id: reactionsResultRow
|
|
||||||
spacing: Theme.paddingMedium
|
|
||||||
Repeater {
|
|
||||||
model: messageListItem.messageReactions
|
|
||||||
|
|
||||||
Item {
|
|
||||||
height: singleReactionRow.height
|
|
||||||
width: singleReactionRow.width
|
|
||||||
|
|
||||||
Row {
|
|
||||||
id: singleReactionRow
|
|
||||||
spacing: Theme.paddingSmall
|
|
||||||
|
|
||||||
Image {
|
|
||||||
id: emojiPicture
|
|
||||||
source: Emoji.getEmojiPath(modelData)
|
|
||||||
width: status === Image.Ready ? Theme.fontSizeLarge : 0
|
|
||||||
height: Theme.fontSizeLarge
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
anchors.fill: parent
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setMessageReaction(messageListItem.chatId, messageListItem.messageId, modelData);
|
|
||||||
messageListItem.messageReactions = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,9 +25,9 @@ import "../js/debug.js" as Debug
|
||||||
Item {
|
Item {
|
||||||
id: messageListItem
|
id: messageListItem
|
||||||
property var myMessage: display
|
property var myMessage: display
|
||||||
property bool senderIsUser: myMessage.sender_id["@type"] === "messageSenderUser"
|
property bool senderIsUser: myMessage.sender["@type"] === "messageSenderUser"
|
||||||
property var userInformation: senderIsUser ? tdLibWrapper.getUserInformation(myMessage.sender_id.user_id) : null
|
property var userInformation: senderIsUser ? tdLibWrapper.getUserInformation(myMessage.sender.user_id) : null
|
||||||
property bool isOwnMessage: senderIsUser && chatPage.myUserId === myMessage.sender_id.user_id
|
property bool isOwnMessage: senderIsUser && chatPage.myUserId === myMessage.sender.user_id
|
||||||
property var linkedMessage
|
property var linkedMessage
|
||||||
height: backgroundRectangle.height + Theme.paddingMedium
|
height: backgroundRectangle.height + Theme.paddingMedium
|
||||||
|
|
||||||
|
|
|
@ -32,21 +32,19 @@ Flickable {
|
||||||
|
|
||||||
property var overlayMessage;
|
property var overlayMessage;
|
||||||
property bool showHeader: true
|
property bool showHeader: true
|
||||||
readonly property var userInformation: tdLibWrapper.getUserInformation(overlayMessage.sender_id.user_id);
|
readonly property var userInformation: tdLibWrapper.getUserInformation(overlayMessage.sender.user_id);
|
||||||
readonly property bool isOwnMessage: tdLibWrapper.getUserInformation().id === overlayMessage.sender_id.user_id;
|
readonly property bool isOwnMessage: tdLibWrapper.getUserInformation().id === overlayMessage.sender.user_id;
|
||||||
readonly property bool isAnonymous: overlayMessage.sender_id["@type"] === "messageSenderChat"
|
readonly property bool isAnonymous: overlayMessage.sender["@type"] === "messageSenderChat"
|
||||||
property bool hasContentComponent: overlayMessage.content && chatView.delegateMessagesContent.indexOf(overlayMessage.content['@type']) > -1
|
property bool hasContentComponent: overlayMessage.content && chatView.delegateMessagesContent.indexOf(overlayMessage.content['@type']) > -1
|
||||||
signal requestClose;
|
signal requestClose;
|
||||||
|
|
||||||
function getOriginalAuthor(forwardInformation, fontSize) {
|
function getOriginalAuthor(forwardInformation, fontSize) {
|
||||||
switch (forwardInformation.origin["@type"]) {
|
switch (forwardInformation.origin["@type"]) {
|
||||||
case "messageOriginChannel":
|
|
||||||
case "messageForwardOriginChannel":
|
case "messageForwardOriginChannel":
|
||||||
var otherChatInformation = tdLibWrapper.getChat(forwardInformation.origin.chat_id);
|
var otherChatInformation = tdLibWrapper.getChat(forwardInformation.origin.chat_id);
|
||||||
return Emoji.emojify(otherChatInformation.title, fontSize);
|
return Emoji.emojify(otherChatInformation.title, fontSize);
|
||||||
case "messageOriginUser":
|
|
||||||
case "messageForwardOriginUser":
|
case "messageForwardOriginUser":
|
||||||
var otherUserInformation = tdLibWrapper.getUserInformation(forwardInformation.origin.sender_id.user_id);
|
var otherUserInformation = tdLibWrapper.getUserInformation(forwardInformation.origin.sender.user_id);
|
||||||
return Emoji.emojify(Functions.getUserName(otherUserInformation), fontSize);
|
return Emoji.emojify(Functions.getUserName(otherUserInformation), fontSize);
|
||||||
default:
|
default:
|
||||||
return Emoji.emojify(forwardInformation.origin.sender_name, fontSize);
|
return Emoji.emojify(forwardInformation.origin.sender_name, fontSize);
|
||||||
|
|
|
@ -31,12 +31,12 @@ Loader {
|
||||||
property var botUserInformation: tdLibWrapper.getUserInformation(message.via_bot_user_id)
|
property var botUserInformation: tdLibWrapper.getUserInformation(message.via_bot_user_id)
|
||||||
color: Theme.secondaryColor
|
color: Theme.secondaryColor
|
||||||
font.pixelSize: Theme.fontSizeExtraSmall
|
font.pixelSize: Theme.fontSizeExtraSmall
|
||||||
text: qsTr("via %1", "message posted via bot user").arg("<a style=\"text-decoration: none; font-weight: bold; color:"+Theme.primaryColor+"\" href=\"userId://" + message.via_bot_user_id + "\">@" + Emoji.emojify(botUserInformation.usernames.editable_username, font.pixelSize)+"</a>")
|
text: qsTr("via %1", "message posted via bot user").arg("<a style=\"text-decoration: none; font-weight: bold; color:"+Theme.primaryColor+"\" href=\"userId://" + message.via_bot_user_id + "\">@" + Emoji.emojify(botUserInformation.username, font.pixelSize)+"</a>")
|
||||||
textFormat: Text.RichText
|
textFormat: Text.RichText
|
||||||
truncationMode: TruncationMode.Fade
|
truncationMode: TruncationMode.Fade
|
||||||
onLinkActivated: {
|
onLinkActivated: {
|
||||||
if(link === "userId://" + message.via_bot_user_id && botUserInformation.type.is_inline) {
|
if(link === "userId://" + message.via_bot_user_id && botUserInformation.type.is_inline) {
|
||||||
newMessageTextField.text = "@"+botUserInformation.usernames.editable_username+" "
|
newMessageTextField.text = "@"+botUserInformation.username+" "
|
||||||
newMessageTextField.cursorPosition = newMessageTextField.text.length
|
newMessageTextField.cursorPosition = newMessageTextField.text.length
|
||||||
lostFocusTimer.start();
|
lostFocusTimer.start();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import QtQuick 2.6
|
import QtQuick 2.6
|
||||||
import Sailfish.Silica 1.0
|
import Sailfish.Silica 1.0
|
||||||
import WerkWolf.Fernschreiber 1.0
|
import WerkWolf.Fernschreiber 1.0
|
||||||
import "../js/functions.js" as Functions
|
|
||||||
|
|
||||||
ListItem {
|
ListItem {
|
||||||
id: chatListViewItem
|
id: chatListViewItem
|
||||||
|
@ -12,8 +11,6 @@ ListItem {
|
||||||
property alias tertiaryText: tertiaryText //usually last message date
|
property alias tertiaryText: tertiaryText //usually last message date
|
||||||
|
|
||||||
property int unreadCount: 0
|
property int unreadCount: 0
|
||||||
property int unreadMentionCount: 0
|
|
||||||
property int unreadReactionCount: 0
|
|
||||||
property bool isSecret: false
|
property bool isSecret: false
|
||||||
property bool isVerified: false
|
property bool isVerified: false
|
||||||
property bool isMarkedAsUnread: false
|
property bool isMarkedAsUnread: false
|
||||||
|
@ -87,8 +84,8 @@ ListItem {
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: chatUnreadMessagesCountBackground
|
id: chatUnreadMessagesCountBackground
|
||||||
color: isMuted ? ((Theme.colorScheme === Theme.DarkOnLight) ? "lightgray" : "dimgray") : Theme.highlightBackgroundColor
|
color: Theme.highlightBackgroundColor
|
||||||
width: chatUnreadMessagesCount.width + Theme.fontSizeLarge / 2
|
width: Theme.fontSizeLarge
|
||||||
height: Theme.fontSizeLarge
|
height: Theme.fontSizeLarge
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
|
@ -103,43 +100,10 @@ ListItem {
|
||||||
color: Theme.primaryColor
|
color: Theme.primaryColor
|
||||||
anchors.centerIn: chatUnreadMessagesCountBackground
|
anchors.centerIn: chatUnreadMessagesCountBackground
|
||||||
visible: chatListViewItem.unreadCount > 0
|
visible: chatListViewItem.unreadCount > 0
|
||||||
opacity: isMuted ? Theme.opacityHigh : 1.0
|
text: chatListViewItem.unreadCount > 99 ? "99+" : chatListViewItem.unreadCount
|
||||||
text: Functions.formatUnreadCount(chatListViewItem.unreadCount)
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
color: isMuted ? ((Theme.colorScheme === Theme.DarkOnLight) ? "lightgray" : "dimgray") : Theme.highlightBackgroundColor
|
|
||||||
width: Theme.fontSizeLarge
|
|
||||||
height: Theme.fontSizeLarge
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.top: parent.top
|
|
||||||
radius: parent.width / 2
|
|
||||||
visible: chatListViewItem.unreadReactionCount > 0 || chatListViewItem.unreadMentionCount > 0
|
|
||||||
|
|
||||||
Icon {
|
|
||||||
source: "image://theme/icon-s-favorite"
|
|
||||||
height: Theme.iconSizeExtraSmall
|
|
||||||
width: Theme.iconSizeExtraSmall
|
|
||||||
highlighted: chatListViewItem.highlighted
|
|
||||||
anchors.centerIn: parent
|
|
||||||
visible: chatListViewItem.unreadReactionCount > 0 && !chatListViewItem.unreadMentionCount
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
font {
|
|
||||||
pixelSize: Theme.iconSizeExtraSmall
|
|
||||||
bold: true
|
|
||||||
}
|
|
||||||
color: Theme.primaryColor
|
|
||||||
anchors.centerIn: parent
|
|
||||||
visible: chatListViewItem.unreadMentionCount > 0
|
|
||||||
opacity: isMuted ? Theme.opacityHigh : 1.0
|
|
||||||
text: "@"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: contentColumn
|
id: contentColumn
|
||||||
anchors {
|
anchors {
|
||||||
|
@ -162,9 +126,6 @@ ListItem {
|
||||||
truncationMode: TruncationMode.Fade
|
truncationMode: TruncationMode.Fade
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
width: Math.min(contentColumn.width - (verifiedImage.visible ? (verifiedImage.width + primaryTextRow.spacing) : 0) - (mutedImage.visible ? (mutedImage.width + primaryTextRow.spacing) : 0), implicitWidth)
|
width: Math.min(contentColumn.width - (verifiedImage.visible ? (verifiedImage.width + primaryTextRow.spacing) : 0) - (mutedImage.visible ? (mutedImage.width + primaryTextRow.spacing) : 0), implicitWidth)
|
||||||
font.bold: appSettings.highlightUnreadConversations && ( !chatListViewItem.isMuted && (chatListViewItem.unreadCount > 0 || chatListViewItem.isMarkedAsUnread) )
|
|
||||||
font.italic: appSettings.highlightUnreadConversations && (chatListViewItem.unreadReactionCount > 0)
|
|
||||||
color: (appSettings.highlightUnreadConversations && (chatListViewItem.unreadCount > 0)) ? Theme.highlightColor : Theme.primaryColor
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Image {
|
Image {
|
||||||
|
|
|
@ -33,7 +33,7 @@ Item {
|
||||||
onPinnedMessageChanged: {
|
onPinnedMessageChanged: {
|
||||||
if (pinnedMessage) {
|
if (pinnedMessage) {
|
||||||
Debug.log("[ChatPage] Activating pinned message");
|
Debug.log("[ChatPage] Activating pinned message");
|
||||||
var messageUserText = (pinnedMessage.sender_id.user_id !== chatPage.myUserId) ? Emoji.emojify(Functions.getUserName(tdLibWrapper.getUserInformation(pinnedMessage.sender_id.user_id)), pinnedMessageUserText.font.pixelSize) : qsTr("You");
|
var messageUserText = (pinnedMessage.sender.user_id !== chatPage.myUserId) ? Emoji.emojify(Functions.getUserName(tdLibWrapper.getUserInformation(pinnedMessage.sender.user_id)), pinnedMessageUserText.font.pixelSize) : qsTr("You");
|
||||||
pinnedMessageUserText.text = (messageUserText === "" ? qsTr("Pinned Message") : messageUserText );
|
pinnedMessageUserText.text = (messageUserText === "" ? qsTr("Pinned Message") : messageUserText );
|
||||||
pinnedMessageText.text = Emoji.emojify(Functions.getMessageText(pinnedMessage, true, chatPage.myUserId, false), pinnedMessageText.font.pixelSize);
|
pinnedMessageText.text = Emoji.emojify(Functions.getMessageText(pinnedMessage, true, chatPage.myUserId, false), pinnedMessageText.font.pixelSize);
|
||||||
pinnedMessageItem.visible = true;
|
pinnedMessageItem.visible = true;
|
||||||
|
|
|
@ -60,12 +60,12 @@ Column {
|
||||||
},
|
},
|
||||||
inlineKeyboardButtonTypeSwitchInline: function() {
|
inlineKeyboardButtonTypeSwitchInline: function() {
|
||||||
if(modelData.type.in_current_chat) {
|
if(modelData.type.in_current_chat) {
|
||||||
chatPage.setMessageText("@" + userInformation.usernames.editable_username + " "+(modelData.type.query || ""))
|
chatPage.setMessageText("@" + userInformation.username + " "+(modelData.type.query || ""))
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
pageStack.push(Qt.resolvedUrl("../pages/ChatSelectionPage.qml"), {
|
pageStack.push(Qt.resolvedUrl("../pages/ChatSelectionPage.qml"), {
|
||||||
myUserId: chatPage.myUserId,
|
myUserId: chatPage.myUserId,
|
||||||
payload: { neededPermissions: ["can_send_other_messages"], text:"@" + userInformation.usernames.editable_username + " "+(modelData.type.query || "")},
|
payload: { neededPermissions: ["can_send_other_messages"], text:"@" + userInformation.username + " "+(modelData.type.query || "")},
|
||||||
state: "fillTextArea"
|
state: "fillTextArea"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,52 +25,22 @@ Item {
|
||||||
id: stickerPickerOverlayItem
|
id: stickerPickerOverlayItem
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
property var recentStickers: stickerManager.getRecentStickers();
|
property var recentStickers: stickerManager.getRecentStickers()
|
||||||
property var installedStickerSets: stickerManager.getInstalledStickerSets();
|
property var installedStickerSets: stickerManager.getInstalledStickerSets()
|
||||||
|
property bool pickerLoaded: false
|
||||||
Connections {
|
|
||||||
target: tdLibWrapper
|
|
||||||
onOkReceived: {
|
|
||||||
if (request === "removeStickerSet") {
|
|
||||||
appNotification.show(qsTr("Sticker set successfully removed!"));
|
|
||||||
tdLibWrapper.getInstalledStickerSets();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: stickerManager
|
|
||||||
onStickerSetsReceived: {
|
|
||||||
installedStickerSets = stickerManager.getInstalledStickerSets();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Component {
|
|
||||||
id: stickerComponent
|
|
||||||
BackgroundItem {
|
|
||||||
id: stickerSetItem
|
|
||||||
width: Theme.itemSizeExtraLarge
|
|
||||||
height: Theme.itemSizeExtraLarge
|
|
||||||
|
|
||||||
onClicked: stickerPickerOverlayItem.stickerPicked(modelData.sticker.remote.id)
|
|
||||||
|
|
||||||
TDLibThumbnail {
|
|
||||||
thumbnail: modelData.thumbnail
|
|
||||||
anchors.fill: parent
|
|
||||||
highlighted: stickerSetItem.highlighted
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
text: Emoji.emojify(modelData.emoji, font.pixelSize)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
signal stickerPicked(var stickerId)
|
signal stickerPicked(var stickerId)
|
||||||
|
|
||||||
|
Timer {
|
||||||
|
id: stickerPickerLoadedTimer
|
||||||
|
interval: 100
|
||||||
|
running: true
|
||||||
|
repeat: false
|
||||||
|
onTriggered: {
|
||||||
|
stickerPickerOverlayItem.pickerLoaded = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Rectangle {
|
Rectangle {
|
||||||
id: stickerPickerOverlayBackground
|
id: stickerPickerOverlayBackground
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
@ -79,32 +49,35 @@ Item {
|
||||||
opacity: 0.7
|
opacity: 0.7
|
||||||
}
|
}
|
||||||
|
|
||||||
SilicaListView {
|
Flickable {
|
||||||
id: stickerPickerListView
|
id: stickerPickerFlickable
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
anchors.margins: Theme.paddingMedium
|
||||||
|
|
||||||
|
opacity: stickerPickerOverlayItem.pickerLoaded ? 1 : 0
|
||||||
|
Behavior on opacity { NumberAnimation {} }
|
||||||
|
visible: stickerPickerOverlayItem.pickerLoaded
|
||||||
|
|
||||||
|
contentHeight: stickerPickerColumn.height
|
||||||
clip: true
|
clip: true
|
||||||
|
|
||||||
model: stickerPickerOverlayItem.installedStickerSets
|
Column {
|
||||||
|
id: stickerPickerColumn
|
||||||
header: Column {
|
spacing: Theme.paddingMedium
|
||||||
spacing: Theme.paddingSmall
|
width: stickerPickerFlickable.width
|
||||||
width: stickerPickerListView.width
|
|
||||||
height: recentStickersGridView.count > 0 ? ( Theme.fontSizeLarge + Theme.itemSizeExtraLarge + 4 * Theme.paddingSmall ) : 0
|
|
||||||
topPadding: Theme.paddingSmall
|
|
||||||
Label {
|
Label {
|
||||||
font.pixelSize: Theme.fontSizeLarge
|
font.pixelSize: Theme.fontSizeMedium
|
||||||
font.bold: true
|
font.bold: true
|
||||||
width: recentStickersGridView.width
|
width: parent.width
|
||||||
leftPadding: Theme.paddingMedium
|
|
||||||
visible: recentStickersGridView.count > 0
|
|
||||||
maximumLineCount: 1
|
maximumLineCount: 1
|
||||||
truncationMode: TruncationMode.Fade
|
truncationMode: TruncationMode.Fade
|
||||||
text: qsTr("Recently used")
|
text: qsTr("Recently used")
|
||||||
}
|
}
|
||||||
|
|
||||||
SilicaGridView {
|
SilicaGridView {
|
||||||
id: recentStickersGridView
|
id: recentStickersGridView
|
||||||
width: stickerPickerListView.width
|
width: parent.width
|
||||||
height: Theme.itemSizeExtraLarge + Theme.paddingSmall
|
height: Theme.itemSizeExtraLarge
|
||||||
cellWidth: Theme.itemSizeExtraLarge;
|
cellWidth: Theme.itemSizeExtraLarge;
|
||||||
cellHeight: Theme.itemSizeExtraLarge;
|
cellHeight: Theme.itemSizeExtraLarge;
|
||||||
visible: count > 0
|
visible: count > 0
|
||||||
|
@ -112,132 +85,119 @@ Item {
|
||||||
flow: GridView.FlowTopToBottom
|
flow: GridView.FlowTopToBottom
|
||||||
|
|
||||||
model: stickerPickerOverlayItem.recentStickers
|
model: stickerPickerOverlayItem.recentStickers
|
||||||
delegate: stickerComponent
|
|
||||||
|
delegate: Item {
|
||||||
|
width: recentStickersGridView.cellWidth
|
||||||
|
height: recentStickersGridView.cellHeight
|
||||||
|
|
||||||
|
Image {
|
||||||
|
source: modelData.thumbnail.file.local.path
|
||||||
|
anchors.fill: parent
|
||||||
|
asynchronous: true
|
||||||
|
onStatusChanged: {
|
||||||
|
if (status === Image.Ready) {
|
||||||
|
stickerPickerLoadedTimer.restart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: stickerPickerOverlayItem.stickerPicked(modelData.sticker.remote.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
HorizontalScrollDecorator {}
|
HorizontalScrollDecorator {}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
delegate: Column {
|
|
||||||
id: stickerSetColumn
|
|
||||||
|
|
||||||
property bool isExpanded: false
|
Repeater {
|
||||||
function toggleDisplaySet() {
|
model: stickerPickerOverlayItem.installedStickerSets
|
||||||
stickerSetColumn.isExpanded = !stickerSetColumn.isExpanded;
|
width: stickerPickerFlickable.width
|
||||||
if (stickerSetColumn.isExpanded) {
|
Column {
|
||||||
stickerSetLoader.myStickerSet = modelData.stickers;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
spacing: Theme.paddingSmall
|
|
||||||
width: parent.width
|
|
||||||
|
|
||||||
Row {
|
|
||||||
id: stickerSetTitleRow
|
|
||||||
width: parent.width
|
|
||||||
height: Theme.itemSizeMedium + ( 2 * Theme.paddingSmall )
|
|
||||||
spacing: Theme.paddingMedium
|
spacing: Theme.paddingMedium
|
||||||
BackgroundItem {
|
width: parent.width
|
||||||
id: stickerSetToggle
|
|
||||||
width: parent.width - removeSetButton.width - Theme.paddingMedium * 2
|
|
||||||
height: parent.height
|
|
||||||
|
|
||||||
onClicked: {
|
|
||||||
toggleDisplaySet();
|
|
||||||
}
|
|
||||||
TDLibThumbnail {
|
|
||||||
id: stickerSetThumbnail
|
|
||||||
thumbnail: modelData.thumbnail ? modelData.thumbnail : modelData.stickers[0].thumbnail
|
|
||||||
anchors {
|
|
||||||
left: parent.left
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
leftMargin: Theme.paddingMedium
|
|
||||||
}
|
|
||||||
width: Theme.itemSizeMedium
|
|
||||||
height: Theme.itemSizeMedium
|
|
||||||
highlighted: stickerSetToggle.down
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
Label {
|
||||||
id: setTitleText
|
font.pixelSize: Theme.fontSizeMedium
|
||||||
font.pixelSize: Theme.fontSizeLarge
|
|
||||||
font.bold: true
|
font.bold: true
|
||||||
|
width: parent.width
|
||||||
anchors {
|
maximumLineCount: 1
|
||||||
left: stickerSetThumbnail.right
|
|
||||||
right: expandSetButton.left
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
margins: Theme.paddingSmall
|
|
||||||
}
|
|
||||||
truncationMode: TruncationMode.Fade
|
truncationMode: TruncationMode.Fade
|
||||||
text: modelData.title
|
text: modelData.title
|
||||||
}
|
}
|
||||||
|
|
||||||
Icon {
|
SilicaGridView {
|
||||||
id: expandSetButton
|
|
||||||
source: stickerSetColumn.isExpanded ? "image://theme/icon-m-up" : "image://theme/icon-m-down"
|
|
||||||
anchors {
|
|
||||||
right: parent.right
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
rightMargin: Theme.paddingMedium
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
IconButton {
|
|
||||||
id: removeSetButton
|
|
||||||
icon.source: "image://theme/icon-m-remove"
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
onClicked: {
|
|
||||||
var stickerSetId = modelData.id;
|
|
||||||
Remorse.popupAction(chatPage, qsTr("Removing sticker set"), function() {
|
|
||||||
tdLibWrapper.changeStickerSet(stickerSetId, false);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Loader {
|
|
||||||
id: stickerSetLoader
|
|
||||||
width: parent.width
|
|
||||||
active: stickerSetColumn.isExpanded || height > 0
|
|
||||||
height: stickerSetColumn.isExpanded ? Theme.itemSizeExtraLarge + Theme.paddingSmall : 0
|
|
||||||
opacity: stickerSetColumn.isExpanded ? 1.0 : 0.0
|
|
||||||
|
|
||||||
Behavior on height {
|
|
||||||
NumberAnimation { duration: 200 }
|
|
||||||
}
|
|
||||||
Behavior on opacity {
|
|
||||||
NumberAnimation { duration: 200 }
|
|
||||||
}
|
|
||||||
|
|
||||||
property var myStickerSet
|
|
||||||
onActiveChanged: {
|
|
||||||
if(!active) {
|
|
||||||
myStickerSet = ({});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceComponent: Component {
|
|
||||||
SilicaListView {
|
|
||||||
id: installedStickerSetGridView
|
id: installedStickerSetGridView
|
||||||
width: stickerSetLoader.width
|
width: parent.width
|
||||||
height: stickerSetLoader.height
|
height: Theme.itemSizeExtraLarge
|
||||||
|
cellWidth: Theme.itemSizeExtraLarge;
|
||||||
orientation: Qt.Horizontal
|
cellHeight: Theme.itemSizeExtraLarge;
|
||||||
visible: count > 0
|
visible: count > 0
|
||||||
|
clip: true
|
||||||
|
flow: GridView.FlowTopToBottom
|
||||||
|
|
||||||
model: stickerSetLoader.myStickerSet
|
model: modelData.stickers
|
||||||
delegate: stickerComponent
|
delegate: Item {
|
||||||
|
width: installedStickerSetGridView.cellWidth
|
||||||
|
height: installedStickerSetGridView.cellHeight
|
||||||
|
|
||||||
|
Image {
|
||||||
|
id: singleStickerImage
|
||||||
|
source: modelData.thumbnail.file.local.is_downloading_completed ? modelData.thumbnail.file.local.path : ""
|
||||||
|
anchors.fill: parent
|
||||||
|
visible: modelData.thumbnail.file.local.is_downloading_completed
|
||||||
|
asynchronous: true
|
||||||
|
onStatusChanged: {
|
||||||
|
if (status === Image.Ready) {
|
||||||
|
stickerPickerLoadedTimer.restart();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Label {
|
||||||
|
font.pixelSize: Theme.fontSizeHuge
|
||||||
|
anchors.fill: parent
|
||||||
|
maximumLineCount: 1
|
||||||
|
truncationMode: TruncationMode.Fade
|
||||||
|
text: Emoji.emojify(modelData.emoji, font.pixelSize)
|
||||||
|
visible: !modelData.thumbnail.file.local.is_downloading_completed
|
||||||
|
}
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
onClicked: stickerPickerOverlayItem.stickerPicked(modelData.sticker.remote.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
HorizontalScrollDecorator {}
|
HorizontalScrollDecorator {}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
width: parent.width
|
||||||
|
spacing: Theme.paddingMedium
|
||||||
|
|
||||||
|
opacity: stickerPickerOverlayItem.pickerLoaded ? 0 : 1
|
||||||
|
Behavior on opacity { NumberAnimation {} }
|
||||||
|
visible: !stickerPickerOverlayItem.pickerLoaded
|
||||||
|
|
||||||
|
InfoLabel {
|
||||||
|
id: loadingLabel
|
||||||
|
text: qsTr("Loading stickers...")
|
||||||
|
}
|
||||||
|
|
||||||
|
BusyIndicator {
|
||||||
|
id: loadingBusyIndicator
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
running: !stickerPickerOverlayItem.pickerLoaded
|
||||||
|
size: BusyIndicatorSize.Large
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,173 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2020-21 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import "./messageContent"
|
|
||||||
import "../js/functions.js" as Functions
|
|
||||||
import "../js/twemoji.js" as Emoji
|
|
||||||
import "../js/debug.js" as Debug
|
|
||||||
|
|
||||||
Flickable {
|
|
||||||
id: stickerSetOverlayFlickable
|
|
||||||
anchors.fill: parent
|
|
||||||
boundsBehavior: Flickable.StopAtBounds
|
|
||||||
contentHeight: stickerSetContentColumn.height
|
|
||||||
clip: true
|
|
||||||
|
|
||||||
property string stickerSetId;
|
|
||||||
property var stickerSet;
|
|
||||||
signal requestClose;
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
if (!stickerManager.hasStickerSet(stickerSetId)) {
|
|
||||||
tdLibWrapper.getStickerSet(stickerSetId);
|
|
||||||
} else {
|
|
||||||
stickerSet = stickerManager.getStickerSet(stickerSetId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: tdLibWrapper
|
|
||||||
onStickerSetReceived: {
|
|
||||||
if (stickerSet.id === stickerSetOverlayFlickable.stickerSetId) {
|
|
||||||
stickerSetOverlayFlickable.stickerSet = stickerSet;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onOkReceived: {
|
|
||||||
if (request === "installStickerSet") {
|
|
||||||
appNotification.show(qsTr("Sticker set successfully installed!"));
|
|
||||||
installSetButton.visible = false;
|
|
||||||
tdLibWrapper.getInstalledStickerSets();
|
|
||||||
}
|
|
||||||
if (request === "removeStickerSet") {
|
|
||||||
appNotification.show(qsTr("Sticker set successfully removed!"));
|
|
||||||
installSetButton.visible = true;
|
|
||||||
tdLibWrapper.getInstalledStickerSets();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Rectangle {
|
|
||||||
id: stickerSetContentBackground
|
|
||||||
color: Theme.overlayBackgroundColor
|
|
||||||
opacity: 0.7
|
|
||||||
anchors.fill: parent
|
|
||||||
MouseArea {
|
|
||||||
anchors.fill: parent
|
|
||||||
onClicked: {
|
|
||||||
stickerSetOverlayFlickable.requestClose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
id: stickerSetContentColumn
|
|
||||||
spacing: Theme.paddingMedium
|
|
||||||
width: parent.width
|
|
||||||
height: parent.height
|
|
||||||
|
|
||||||
Row {
|
|
||||||
id: stickerSetTitleRow
|
|
||||||
width: parent.width - ( 2 * Theme.horizontalPageMargin )
|
|
||||||
height: overlayStickerTitleText.height + ( 2 * Theme.paddingMedium )
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
|
|
||||||
Label {
|
|
||||||
id: overlayStickerTitleText
|
|
||||||
|
|
||||||
width: parent.width - installSetButton.width - closeSetButton.width
|
|
||||||
text: stickerSet.title
|
|
||||||
font.pixelSize: Theme.fontSizeExtraLarge
|
|
||||||
font.weight: Font.ExtraBold
|
|
||||||
maximumLineCount: 1
|
|
||||||
truncationMode: TruncationMode.Fade
|
|
||||||
textFormat: Text.StyledText
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
}
|
|
||||||
|
|
||||||
IconButton {
|
|
||||||
id: installSetButton
|
|
||||||
icon.source: "image://theme/icon-m-add"
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
visible: !stickerManager.isStickerSetInstalled(stickerSet.id)
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.changeStickerSet(stickerSet.id, true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
IconButton {
|
|
||||||
id: removeSetButton
|
|
||||||
icon.source: "image://theme/icon-m-remove"
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
visible: !installSetButton.visible
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.changeStickerSet(stickerSet.id, false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
IconButton {
|
|
||||||
id: closeSetButton
|
|
||||||
icon.source: "image://theme/icon-m-clear"
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
onClicked: {
|
|
||||||
stickerSetOverlayFlickable.requestClose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SilicaGridView {
|
|
||||||
id: stickerSetGridView
|
|
||||||
|
|
||||||
width: parent.width - ( 2 * Theme.horizontalPageMargin )
|
|
||||||
height: parent.height - stickerSetTitleRow.height - Theme.paddingMedium
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
|
|
||||||
cellWidth: chatPage.isLandscape ? (width / 5) : (width / 3);
|
|
||||||
cellHeight: cellWidth
|
|
||||||
|
|
||||||
visible: count > 0
|
|
||||||
|
|
||||||
clip: true
|
|
||||||
|
|
||||||
model: stickerSet.stickers
|
|
||||||
delegate: Item {
|
|
||||||
width: stickerSetGridView.cellWidth - Theme.paddingSmall
|
|
||||||
height: stickerSetGridView.cellHeight - Theme.paddingSmall
|
|
||||||
|
|
||||||
TDLibThumbnail {
|
|
||||||
id: singleStickerThumbnail
|
|
||||||
thumbnail: modelData.thumbnail
|
|
||||||
anchors.fill: parent
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
text: Emoji.emojify(modelData.emoji, font.pixelSize)
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
VerticalScrollDecorator {}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -209,6 +209,7 @@ Item {
|
||||||
attachmentOptionsFlickable.isNeeded = false;
|
attachmentOptionsFlickable.isNeeded = false;
|
||||||
attachmentPreviewRow.isVoiceNote = true;
|
attachmentPreviewRow.isVoiceNote = true;
|
||||||
attachmentPreviewRow.attachmentDescription = qsTr("Voice Note (%1)").arg(recordingDurationLabel.text);
|
attachmentPreviewRow.attachmentDescription = qsTr("Voice Note (%1)").arg(recordingDurationLabel.text);
|
||||||
|
attachmentPreviewRow.visible = true;
|
||||||
controlSendButton();
|
controlSendButton();
|
||||||
voiceNoteOverlayLoader.active = false;
|
voiceNoteOverlayLoader.active = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,7 +98,7 @@ SilicaFlickable {
|
||||||
if(groupFullInfo.members && groupFullInfo.members.length > 0) {
|
if(groupFullInfo.members && groupFullInfo.members.length > 0) {
|
||||||
for(var memberIndex in groupFullInfo.members) {
|
for(var memberIndex in groupFullInfo.members) {
|
||||||
var memberData = groupFullInfo.members[memberIndex];
|
var memberData = groupFullInfo.members[memberIndex];
|
||||||
var userInfo = tdLibWrapper.getUserInformation(memberData.member_id.user_id) || {user:{}, bot_info:{}};
|
var userInfo = tdLibWrapper.getUserInformation(memberData.user_id) || {user:{}, bot_info:{}};
|
||||||
memberData.user = userInfo;
|
memberData.user = userInfo;
|
||||||
memberData.bot_info = memberData.bot_info || {};
|
memberData.bot_info = memberData.bot_info || {};
|
||||||
membersList.append(memberData);
|
membersList.append(memberData);
|
||||||
|
@ -187,14 +187,6 @@ SilicaFlickable {
|
||||||
chatInformationPage.chatInformation = newInformation
|
chatInformationPage.chatInformation = newInformation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onChatNotificationSettingsUpdated: {
|
|
||||||
if (chatInformationPage.chatInformation.id.toString() === chatId) {
|
|
||||||
// set whole object to trigger change
|
|
||||||
var newInformation = chatInformation;
|
|
||||||
newInformation.notification_settings = chatNotificationSettings;
|
|
||||||
chatInformationPage.chatInformation = newInformation;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Component.onCompleted: {
|
Component.onCompleted: {
|
||||||
|
@ -300,8 +292,7 @@ SilicaFlickable {
|
||||||
}
|
}
|
||||||
leftMargin: imageContainer.getEased((imageContainer.minDimension + Theme.paddingMedium), 0, imageContainer.tweenFactor) + Theme.horizontalPageMargin
|
leftMargin: imageContainer.getEased((imageContainer.minDimension + Theme.paddingMedium), 0, imageContainer.tweenFactor) + Theme.horizontalPageMargin
|
||||||
title: chatInformationPage.chatInformation.title !== "" ? Emoji.emojify(chatInformationPage.chatInformation.title, Theme.fontSizeLarge) : qsTr("Unknown")
|
title: chatInformationPage.chatInformation.title !== "" ? Emoji.emojify(chatInformationPage.chatInformation.title, Theme.fontSizeLarge) : qsTr("Unknown")
|
||||||
description: ((chatInformationPage.isPrivateChat || chatInformationPage.isSecretChat) && chatInformationPage.privateChatUserInformation.usernames.editable_username)
|
description: (chatInformationPage.isPrivateChat || chatInformationPage.isSecretChat) ? ("@"+(chatInformationPage.privateChatUserInformation.username || chatInformationPage.chatPartnerGroupId)) : ""
|
||||||
? ("@"+chatInformationPage.privateChatUserInformation.usernames.editable_username) : ""
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SilicaFlickable {
|
SilicaFlickable {
|
||||||
|
@ -364,27 +355,6 @@ SilicaFlickable {
|
||||||
height: imageContainer.hasImage ? imageContainer.maxDimension : 0
|
height: imageContainer.hasImage ? imageContainer.maxDimension : 0
|
||||||
}
|
}
|
||||||
|
|
||||||
Label {
|
|
||||||
id: copyIdText
|
|
||||||
x: Math.max(headerItem.x + imageContainer.x - groupInfoItem.x + (imageContainer.width - width)/2, 0)
|
|
||||||
text: chatInformationPage.chatPartnerGroupId
|
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
|
||||||
color: copyIdMouseArea.pressed ? Theme.secondaryHighlightColor : Theme.highlightColor
|
|
||||||
visible: text !== ""
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
id: copyIdMouseArea
|
|
||||||
anchors {
|
|
||||||
fill: parent
|
|
||||||
margins: -Theme.paddingLarge
|
|
||||||
}
|
|
||||||
onClicked: {
|
|
||||||
Clipboard.text = copyIdText.text
|
|
||||||
appNotification.show(qsTr("ID has been copied to the clipboard."));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
InformationEditArea {
|
InformationEditArea {
|
||||||
visible: canEdit
|
visible: canEdit
|
||||||
canEdit: !(chatInformationPage.isPrivateChat || chatInformationPage.isSecretChat) && chatInformationPage.groupInformation.status && (chatInformationPage.groupInformation.status.can_change_info || chatInformationPage.groupInformation.status["@type"] === "chatMemberStatusCreator")
|
canEdit: !(chatInformationPage.isPrivateChat || chatInformationPage.isSecretChat) && chatInformationPage.groupInformation.status && (chatInformationPage.groupInformation.status.can_change_info || chatInformationPage.groupInformation.status["@type"] === "chatMemberStatusCreator")
|
||||||
|
|
|
@ -79,7 +79,7 @@ ChatInformationTabItemBase {
|
||||||
// chat title
|
// chat title
|
||||||
primaryText.text: Emoji.emojify(Functions.getUserName(user), primaryText.font.pixelSize)
|
primaryText.text: Emoji.emojify(Functions.getUserName(user), primaryText.font.pixelSize)
|
||||||
// last user
|
// last user
|
||||||
prologSecondaryText.text: "@"+(user.username ? user.username : member_id.user_id) + (member_id.user_id === chatInformationPage.myUserId ? " " + qsTr("You") : "")
|
prologSecondaryText.text: "@"+(user.username !== "" ? user.username : user_id) + (user_id === chatInformationPage.myUserId ? " " + qsTr("You") : "")
|
||||||
secondaryText {
|
secondaryText {
|
||||||
horizontalAlignment: Text.AlignRight
|
horizontalAlignment: Text.AlignRight
|
||||||
property string statusText: Functions.getChatMemberStatusText(model.status["@type"])
|
property string statusText: Functions.getChatMemberStatusText(model.status["@type"])
|
||||||
|
@ -92,7 +92,7 @@ ChatInformationTabItemBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
tdLibWrapper.createPrivateChat(member_id.user_id, "openDirectly");
|
tdLibWrapper.createPrivateChat(user_id, "openDirectly");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
footer: Component {
|
footer: Component {
|
||||||
|
@ -179,10 +179,7 @@ ChatInformationTabItemBase {
|
||||||
if(members && members.length > 0 && chatInformationPage.groupInformation.member_count > membersView.count) {
|
if(members && members.length > 0 && chatInformationPage.groupInformation.member_count > membersView.count) {
|
||||||
for(var memberIndex in members) {
|
for(var memberIndex in members) {
|
||||||
var memberData = members[memberIndex];
|
var memberData = members[memberIndex];
|
||||||
var userInfo = tdLibWrapper.getUserInformation(memberData.member_id.user_id) || {user:{}, bot_info:{}};
|
var userInfo = tdLibWrapper.getUserInformation(memberData.user_id) || {user:{}, bot_info:{}};
|
||||||
if (!userInfo.username && userInfo.usernames && userInfo.usernames.active_usernames) {
|
|
||||||
userInfo.username = userInfo.usernames.active_usernames[0]
|
|
||||||
}
|
|
||||||
memberData.user = userInfo;
|
memberData.user = userInfo;
|
||||||
memberData.bot_info = memberData.bot_info || {};
|
memberData.bot_info = memberData.bot_info || {};
|
||||||
pageContent.membersList.append(memberData);
|
pageContent.membersList.append(memberData);
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2020-21 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import WerkWolf.Fernschreiber 1.0
|
|
||||||
import "../"
|
|
||||||
import "../../js/twemoji.js" as Emoji
|
|
||||||
|
|
||||||
MessageSticker {
|
|
||||||
stickerData: messageListItem ? messageListItem.myMessage.content.animated_emoji.sticker : overlayFlickable.overlayMessage.content.animated_emoji.sticker;
|
|
||||||
}
|
|
|
@ -35,7 +35,7 @@ MessageContentFileInfoBase {
|
||||||
onClicked: {
|
onClicked: {
|
||||||
if(file.isDownloadingCompleted) {
|
if(file.isDownloadingCompleted) {
|
||||||
// in this case, the MouseArea should take over
|
// in this case, the MouseArea should take over
|
||||||
tdLibWrapper.copyFileToDownloads(file.path, true);
|
tdLibWrapper.openFileOnDevice(file.path);
|
||||||
} else if(!file.isDownloadingActive) {
|
} else if(!file.isDownloadingActive) {
|
||||||
file.load();
|
file.load();
|
||||||
} else {
|
} else {
|
||||||
|
@ -76,7 +76,7 @@ MessageContentFileInfoBase {
|
||||||
rightMargin: copyButton.width
|
rightMargin: copyButton.width
|
||||||
}
|
}
|
||||||
onClicked: {
|
onClicked: {
|
||||||
tdLibWrapper.copyFileToDownloads(file.path, true);
|
tdLibWrapper.openFileOnDevice(file.path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,9 @@ MessageContentBase {
|
||||||
property string fileExtra;
|
property string fileExtra;
|
||||||
|
|
||||||
onClicked: {
|
onClicked: {
|
||||||
Qt.openUrlExternally("geo:" + locationData.latitude + "," + locationData.longitude);
|
if(!processLauncher.launchProgram('harbour-pure-maps', ["geo:"+locationData.latitude+","+locationData.longitude])) {
|
||||||
|
imageNotification.show(qsTr("Install Pure Maps to inspect this location."));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
onLocationDataChanged: updatePicture()
|
onLocationDataChanged: updatePicture()
|
||||||
onWidthChanged: updatePicture()
|
onWidthChanged: updatePicture()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
Copyright (C) 2020-21 Sebastian J. Wolf and other contributors
|
Copyright (C) 2020 Sebastian J. Wolf and other contributors
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
This file is part of Fernschreiber.
|
||||||
|
|
||||||
|
@ -20,18 +20,14 @@ import QtQuick 2.6
|
||||||
import Sailfish.Silica 1.0
|
import Sailfish.Silica 1.0
|
||||||
import WerkWolf.Fernschreiber 1.0
|
import WerkWolf.Fernschreiber 1.0
|
||||||
import "../"
|
import "../"
|
||||||
import "../../js/twemoji.js" as Emoji
|
|
||||||
|
|
||||||
MessageContentBase {
|
MessageContentBase {
|
||||||
id: thisItem
|
readonly property var stickerData: messageListItem ? messageListItem.myMessage.content.sticker : overlayFlickable.overlayMessage.content.sticker;
|
||||||
|
readonly property bool animated: stickerData.is_animated && appSettings.animateStickers
|
||||||
property var stickerData: messageListItem ? messageListItem.myMessage.content.sticker : overlayFlickable.overlayMessage.content.sticker;
|
|
||||||
readonly property bool asEmoji: appSettings.showStickersAsEmojis
|
|
||||||
readonly property bool animated: stickerData.format["@type"] === "stickerFormatTgs" && appSettings.animateStickers
|
|
||||||
readonly property bool stickerVisible: staticStickerLoader.item ? staticStickerLoader.item.visible :
|
readonly property bool stickerVisible: staticStickerLoader.item ? staticStickerLoader.item.visible :
|
||||||
animatedStickerLoader.item ? animatedStickerLoader.item.visible : false
|
animatedStickerLoader.item ? animatedStickerLoader.item.visible : false
|
||||||
readonly property bool isOwnSticker : messageListItem ? messageListItem.isOwnMessage : overlayFlickable.isOwnMessage
|
readonly property bool isOwnSticker : messageListItem ? messageListItem.isOwnMessage : overlayFlickable.isOwnMessage
|
||||||
readonly property real aspectRatio: stickerData.width / stickerData.height
|
property real aspectRatio: stickerData.width / stickerData.height
|
||||||
|
|
||||||
implicitWidth: stickerData.width
|
implicitWidth: stickerData.width
|
||||||
implicitHeight: stickerData.height
|
implicitHeight: stickerData.height
|
||||||
|
@ -44,7 +40,6 @@ MessageContentBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
|
||||||
width: Math.min( stickerData.width, parent.width )
|
width: Math.min( stickerData.width, parent.width )
|
||||||
height: width * aspectRatio
|
height: width * aspectRatio
|
||||||
// (centered in image mode, text-like in sticker mode)
|
// (centered in image mode, text-like in sticker mode)
|
||||||
|
@ -55,7 +50,7 @@ MessageContentBase {
|
||||||
Loader {
|
Loader {
|
||||||
id: animatedStickerLoader
|
id: animatedStickerLoader
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
active: animated && !asEmoji
|
active: animated
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
AnimatedImage {
|
AnimatedImage {
|
||||||
id: animatedSticker
|
id: animatedSticker
|
||||||
|
@ -64,7 +59,7 @@ MessageContentBase {
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
paused: !Qt.application.active
|
paused: !Qt.application.active
|
||||||
cache: false
|
cache: false
|
||||||
layer.enabled: thisItem.highlighted
|
layer.enabled: highlighted
|
||||||
layer.effect: PressEffect { source: animatedSticker }
|
layer.effect: PressEffect { source: animatedSticker }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -73,23 +68,19 @@ MessageContentBase {
|
||||||
Loader {
|
Loader {
|
||||||
id: staticStickerLoader
|
id: staticStickerLoader
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
active: !animated || asEmoji
|
active: !animated
|
||||||
sourceComponent: Component {
|
sourceComponent: Component {
|
||||||
Image {
|
Image {
|
||||||
id: staticSticker
|
id: staticSticker
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
source: asEmoji ? Emoji.getEmojiPath(stickerData.emoji) : file.path
|
source: file.path
|
||||||
sourceSize {
|
|
||||||
width: width
|
|
||||||
height: height
|
|
||||||
}
|
|
||||||
fillMode: Image.PreserveAspectFit
|
fillMode: Image.PreserveAspectFit
|
||||||
autoTransform: true
|
autoTransform: true
|
||||||
asynchronous: true
|
asynchronous: true
|
||||||
visible: opacity > 0
|
visible: opacity > 0
|
||||||
opacity: status === Image.Ready ? 1 : 0
|
opacity: status === Image.Ready ? 1 : 0
|
||||||
Behavior on opacity { FadeAnimation {} }
|
Behavior on opacity { FadeAnimation {} }
|
||||||
layer.enabled: thisItem.highlighted
|
layer.enabled: highlighted
|
||||||
layer.effect: PressEffect { source: staticSticker }
|
layer.effect: PressEffect { source: staticSticker }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,11 +98,6 @@ MessageContentBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onClicked: {
|
|
||||||
stickerSetOverlayLoader.stickerSetId = stickerData.set_id
|
|
||||||
stickerSetOverlayLoader.active = true
|
|
||||||
}
|
|
||||||
|
|
||||||
Timer {
|
Timer {
|
||||||
id: placeHolderDelayTimer
|
id: placeHolderDelayTimer
|
||||||
interval: 1000
|
interval: 1000
|
||||||
|
|
|
@ -95,7 +95,7 @@ MessageContentBase {
|
||||||
tdLibWrapper.downloadFile(previewFileId);
|
tdLibWrapper.downloadFile(previewFileId);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
placeholderImage.source = "image://theme/icon-m-video?white";
|
placeholderImage.source = "image://theme/icon-l-video?white";
|
||||||
placeholderImage.width = Theme.itemSizeLarge
|
placeholderImage.width = Theme.itemSizeLarge
|
||||||
placeholderImage.height = Theme.itemSizeLarge
|
placeholderImage.height = Theme.itemSizeLarge
|
||||||
}
|
}
|
||||||
|
@ -218,7 +218,7 @@ MessageContentBase {
|
||||||
highlighted: videoMessageComponent.highlighted || down
|
highlighted: videoMessageComponent.highlighted || down
|
||||||
visible: ( placeholderImage.status === Image.Ready && !videoMessageComponent.fullscreen ) ? true : false
|
visible: ( placeholderImage.status === Image.Ready && !videoMessageComponent.fullscreen ) ? true : false
|
||||||
onClicked: {
|
onClicked: {
|
||||||
pageStack.push(Qt.resolvedUrl("../../pages/VideoPage.qml"), {"videoData": videoData, "sourceMessage": rawMessage});
|
pageStack.push(Qt.resolvedUrl("../../pages/VideoPage.qml"), {"videoData": videoData});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -464,7 +464,7 @@ MessageContentBase {
|
||||||
}
|
}
|
||||||
visible: ( videoComponentLoader.active && messageVideo.playbackState === MediaPlayer.PausedState ) ? true : false
|
visible: ( videoComponentLoader.active && messageVideo.playbackState === MediaPlayer.PausedState ) ? true : false
|
||||||
onClicked: {
|
onClicked: {
|
||||||
pageStack.push(Qt.resolvedUrl("../../pages/VideoPage.qml"), {"videoData": videoData, "sourceMessage": rawMessage});
|
pageStack.push(Qt.resolvedUrl("../../pages/VideoPage.qml"), {"videoData": videoData});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
import QtQuick 2.6
|
|
||||||
import QtGraphicalEffects 1.0
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import WerkWolf.Fernschreiber 1.0
|
|
||||||
import "../"
|
|
||||||
import "../../js/functions.js" as Functions
|
|
||||||
|
|
||||||
Column {
|
|
||||||
id: sponsoredMessageColumn
|
|
||||||
|
|
||||||
property var sponsoredMessageData;
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: tdLibWrapper
|
|
||||||
onMessageLinkInfoReceived: {
|
|
||||||
if (sponsoredMessageData.link.url === url) {
|
|
||||||
messageOverlayLoader.overlayMessage = messageLinkInfo.message;
|
|
||||||
messageOverlayLoader.active = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
if (sponsoredMessageData) {
|
|
||||||
if (typeof sponsoredMessageData.link === "undefined") {
|
|
||||||
sponsoredMessageButton.text = qsTr("Go to Channel");
|
|
||||||
sponsoredMessageButton.advertisesChannel = true;
|
|
||||||
} else if (sponsoredMessageData.link['@type'] === "internalLinkTypeMessage") {
|
|
||||||
sponsoredMessageButton.text = qsTr("Go to Message");
|
|
||||||
sponsoredMessageButton.advertisesMessage = true;
|
|
||||||
} else {
|
|
||||||
sponsoredMessageButton.text = qsTr("Start Bot");
|
|
||||||
sponsoredMessageButton.advertisesBot = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
|
||||||
id: sponsoredMessageButton
|
|
||||||
property bool advertisesChannel: false;
|
|
||||||
property bool advertisesMessage: false;
|
|
||||||
property bool advertisesBot: false;
|
|
||||||
anchors {
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
onClicked: {
|
|
||||||
if (advertisesChannel) {
|
|
||||||
tdLibWrapper.createSupergroupChat(tdLibWrapper.getChat(sponsoredMessageData.sponsor_chat_id).type.supergroup_id, "openDirectly");
|
|
||||||
}
|
|
||||||
if (advertisesMessage) {
|
|
||||||
tdLibWrapper.getMessageLinkInfo(sponsoredMessageData.link.url);
|
|
||||||
}
|
|
||||||
if (advertisesBot) {
|
|
||||||
tdLibWrapper.createPrivateChat(tdLibWrapper.getUserInformationByName(sponsoredMessageData.link.bot_username).id, "openAndSendStartToBot:" + sponsoredMessageData.link.start_parameter);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
|
|
||||||
|
|
||||||
Column {
|
|
||||||
width: parent.width
|
|
||||||
property SilicaFlickable flickable
|
|
||||||
property bool animate: false
|
|
||||||
signal setActiveArea(string activeAreaTitle)
|
|
||||||
function scrollUpFlickable(amount) {
|
|
||||||
if(flickable) {
|
|
||||||
flickableAnimation.to = Math.max(0, flickable.contentY - amount);
|
|
||||||
flickableAnimation.start()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
NumberAnimation {
|
|
||||||
id: flickableAnimation
|
|
||||||
target: flickable
|
|
||||||
property: "contentY"
|
|
||||||
duration: 200
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,106 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: area
|
|
||||||
width: parent.width
|
|
||||||
height: button.height + content.height
|
|
||||||
property alias icon: image
|
|
||||||
property alias text: label.text
|
|
||||||
property alias asynchronous: content.asynchronous
|
|
||||||
property bool expanded: false
|
|
||||||
default property alias els: content.sourceComponent
|
|
||||||
states: [
|
|
||||||
State {
|
|
||||||
when: area.expanded
|
|
||||||
PropertyChanges { target: image; rotation: 90 }
|
|
||||||
PropertyChanges { target: content; height: content.implicitHeight + Theme.paddingLarge; opacity: 1.0 }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
transitions: Transition {
|
|
||||||
to: "*"
|
|
||||||
enabled: area.parent.animate
|
|
||||||
NumberAnimation { target: content; properties: "height, opacity"; duration: 200}
|
|
||||||
NumberAnimation { target: image; properties: "rotation"; duration: 200}
|
|
||||||
}
|
|
||||||
Connections {
|
|
||||||
target: area.parent
|
|
||||||
onSetActiveArea: {
|
|
||||||
var expand = (activeAreaTitle === area.text);
|
|
||||||
if(area.expanded && !expand && area.parent.scrollUpFlickable) {
|
|
||||||
area.parent.scrollUpFlickable(content.implicitHeight + Theme.paddingLarge);
|
|
||||||
}
|
|
||||||
|
|
||||||
area.expanded = expand;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
BackgroundItem {
|
|
||||||
id: button
|
|
||||||
height: Theme.itemSizeMedium
|
|
||||||
onClicked: {
|
|
||||||
area.parent.animate = true;
|
|
||||||
area.parent.setActiveArea(area.expanded ? -1 : area.text)
|
|
||||||
}
|
|
||||||
Rectangle {
|
|
||||||
anchors.fill: parent
|
|
||||||
gradient: Gradient {
|
|
||||||
GradientStop { position: 0.0; color: Theme.rgba(Theme.highlightBackgroundColor, 0.15) }
|
|
||||||
GradientStop { position: 1.0; color: "transparent" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Label {
|
|
||||||
id: label
|
|
||||||
anchors {
|
|
||||||
left: parent.left
|
|
||||||
right: image.left
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
leftMargin: Theme.horizontalPageMargin + Theme.paddingLarge
|
|
||||||
rightMargin: Theme.paddingMedium
|
|
||||||
}
|
|
||||||
horizontalAlignment: Text.AlignRight
|
|
||||||
truncationMode: TruncationMode.Fade
|
|
||||||
color: button.highlighted ? Theme.highlightColor : Theme.primaryColor
|
|
||||||
textFormat: Text.PlainText
|
|
||||||
}
|
|
||||||
HighlightImage {
|
|
||||||
id: image
|
|
||||||
anchors {
|
|
||||||
right: parent.right
|
|
||||||
verticalCenter: parent.verticalCenter
|
|
||||||
rightMargin: Theme.horizontalPageMargin
|
|
||||||
}
|
|
||||||
width: visible ? Theme.iconSizeMedium : 0
|
|
||||||
highlighted: parent.highlighted
|
|
||||||
source: "image://theme/icon-m-left"
|
|
||||||
rotation: -90
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loader {
|
|
||||||
id: content
|
|
||||||
width: parent.width
|
|
||||||
height: 0
|
|
||||||
opacity: 0
|
|
||||||
anchors.top: button.bottom
|
|
||||||
asynchronous: true
|
|
||||||
clip: true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import "../../js/functions.js" as Functions
|
|
||||||
|
|
||||||
Grid {
|
|
||||||
width: parent.width - ( 2 * x )
|
|
||||||
columns: Functions.isWidescreen(appWindow) ? 2 : 1
|
|
||||||
readonly property real columnWidth: width/columns
|
|
||||||
}
|
|
|
@ -1,89 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
|
|
||||||
AccordionItem {
|
|
||||||
text: qsTr("Appearance")
|
|
||||||
clip: heightBehavior.enabled || heightAnimation.running
|
|
||||||
|
|
||||||
// One-shot behavior
|
|
||||||
Behavior on height {
|
|
||||||
id: heightBehavior
|
|
||||||
enabled: false
|
|
||||||
SequentialAnimation {
|
|
||||||
id: heightAnimation
|
|
||||||
SmoothedAnimation { duration: 200 }
|
|
||||||
ScriptAction { script: heightBehavior.enabled = false }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component {
|
|
||||||
ResponsiveGrid {
|
|
||||||
bottomPadding: Theme.paddingMedium
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.showStickersAsEmojis
|
|
||||||
text: qsTr("Show stickers as emojis")
|
|
||||||
description: qsTr("Only display emojis instead of the actual stickers")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
heightBehavior.enabled = true
|
|
||||||
appSettings.showStickersAsEmojis = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.showStickersAsImages
|
|
||||||
text: qsTr("Show stickers as images")
|
|
||||||
description: qsTr("Show background for stickers and align them centrally like images")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.showStickersAsImages = !checked
|
|
||||||
}
|
|
||||||
visible: !appSettings.showStickersAsEmojis
|
|
||||||
opacity: visible ? 1 : 0
|
|
||||||
Behavior on opacity { FadeAnimation { } }
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
// Placeholder to move the next switch to the second column
|
|
||||||
visible: parent.columns === 2
|
|
||||||
width: 1
|
|
||||||
height: 1
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.animateStickers
|
|
||||||
text: qsTr("Animate stickers")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.animateStickers = !checked
|
|
||||||
}
|
|
||||||
visible: !appSettings.showStickersAsEmojis
|
|
||||||
opacity: visible ? 1 : 0
|
|
||||||
Behavior on opacity { FadeAnimation { } }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,221 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import WerkWolf.Fernschreiber 1.0
|
|
||||||
|
|
||||||
AccordionItem {
|
|
||||||
text: qsTr("Behavior")
|
|
||||||
Component {
|
|
||||||
ResponsiveGrid {
|
|
||||||
bottomPadding: Theme.paddingMedium
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.sendByEnter
|
|
||||||
text: qsTr("Send message by enter")
|
|
||||||
description: qsTr("Send your message by pressing the enter key")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.sendByEnter = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.focusTextAreaOnChatOpen
|
|
||||||
text: qsTr("Focus text input on chat open")
|
|
||||||
description: qsTr("Focus the text input area when entering a chat")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.focusTextAreaOnChatOpen = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.focusTextAreaAfterSend
|
|
||||||
text: qsTr("Focus text input area after send")
|
|
||||||
description: qsTr("Focus the text input area after sending a message")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.focusTextAreaAfterSend = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.delayMessageRead
|
|
||||||
text: qsTr("Delay before marking messages as read")
|
|
||||||
description: qsTr("Fernschreiber will wait a bit before messages are marked as read")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.delayMessageRead = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.highlightUnreadConversations
|
|
||||||
text: qsTr("Highlight unread messages")
|
|
||||||
description: qsTr("Highlight Conversations with unread messages")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.highlightUnreadConversations = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.useOpenWith
|
|
||||||
text: qsTr("Open-with menu integration")
|
|
||||||
description: qsTr("Integrate Fernschreiber into open-with menu of Sailfish OS")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.useOpenWith = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.notificationAlwaysShowPreview
|
|
||||||
text: qsTr("Always append message preview to notifications")
|
|
||||||
description: qsTr("In addition to showing the number of unread messages, the latest message will also be appended to notifications.")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.notificationAlwaysShowPreview = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.goToQuotedMessage
|
|
||||||
text: qsTr("Go to quoted message")
|
|
||||||
description: qsTr("When tapping a quoted message, open it in chat instead of showing it in an overlay.")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.goToQuotedMessage = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ComboBox {
|
|
||||||
id: feedbackComboBox
|
|
||||||
width: parent.columnWidth
|
|
||||||
label: qsTr("Notification feedback")
|
|
||||||
description: qsTr("Use non-graphical feedback (sound, vibration) for notifications")
|
|
||||||
menu: ContextMenu {
|
|
||||||
id: feedbackMenu
|
|
||||||
x: 0
|
|
||||||
width: feedbackComboBox.width
|
|
||||||
|
|
||||||
MenuItem {
|
|
||||||
readonly property int value: AppSettings.NotificationFeedbackAll
|
|
||||||
text: qsTr("All events")
|
|
||||||
onClicked: {
|
|
||||||
appSettings.notificationFeedback = value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
readonly property int value: AppSettings.NotificationFeedbackNew
|
|
||||||
text: qsTr("Only new events")
|
|
||||||
onClicked: {
|
|
||||||
appSettings.notificationFeedback = value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
readonly property int value: AppSettings.NotificationFeedbackNone
|
|
||||||
text: qsTr("None")
|
|
||||||
onClicked: {
|
|
||||||
appSettings.notificationFeedback = value
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: updateFeedbackSelection()
|
|
||||||
|
|
||||||
function updateFeedbackSelection() {
|
|
||||||
var menuItems = feedbackMenu.children
|
|
||||||
var n = menuItems.length
|
|
||||||
for (var i=0; i<n; i++) {
|
|
||||||
if (menuItems[i].value === appSettings.notificationFeedback) {
|
|
||||||
currentIndex = i
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: appSettings
|
|
||||||
onNotificationFeedbackChanged: {
|
|
||||||
feedbackComboBox.updateFeedbackSelection()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
// Occupies one grid cell so that the column ends up under the combo box
|
|
||||||
// in the landscape layout
|
|
||||||
visible: parent.columns === 2
|
|
||||||
width: 1
|
|
||||||
height: 1
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
enabled: appSettings.notificationFeedback !== AppSettings.NotificationFeedbackNone
|
|
||||||
width: parent.columnWidth
|
|
||||||
height: enabled ? implicitHeight: 0
|
|
||||||
clip: height < implicitHeight
|
|
||||||
visible: height > 0
|
|
||||||
|
|
||||||
Behavior on height { SmoothedAnimation { duration: 200 } }
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
checked: appSettings.notificationSuppressContent && enabled
|
|
||||||
text: qsTr("Hide content in notifications")
|
|
||||||
enabled: parent.enabled
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.notificationSuppressContent = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
checked: appSettings.notificationTurnsDisplayOn && enabled
|
|
||||||
text: qsTr("Notification turns on the display")
|
|
||||||
enabled: parent.enabled
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.notificationTurnsDisplayOn = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
checked: appSettings.notificationSoundsEnabled && enabled
|
|
||||||
text: qsTr("Enable notification sounds")
|
|
||||||
description: qsTr("When sounds are enabled, Fernschreiber will use the current Sailfish OS notification sound for chats, which can be configured in the system settings.")
|
|
||||||
enabled: parent.enabled
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.notificationSoundsEnabled = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,266 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import WerkWolf.Fernschreiber 1.0
|
|
||||||
|
|
||||||
AccordionItem {
|
|
||||||
text: qsTr("Privacy")
|
|
||||||
Component {
|
|
||||||
Column {
|
|
||||||
bottomPadding: Theme.paddingMedium
|
|
||||||
Connections {
|
|
||||||
target: tdLibWrapper
|
|
||||||
onUserPrivacySettingUpdated: {
|
|
||||||
Debug.log("Received updated privacy setting: " + setting + ":" + rule);
|
|
||||||
switch (setting) {
|
|
||||||
case TelegramAPI.SettingAllowChatInvites:
|
|
||||||
allowChatInvitesComboBox.currentIndex = rule;
|
|
||||||
break;
|
|
||||||
case TelegramAPI.SettingAllowFindingByPhoneNumber:
|
|
||||||
allowFindingByPhoneNumberComboBox.currentIndex = rule;
|
|
||||||
break;
|
|
||||||
case TelegramAPI.SettingShowLinkInForwardedMessages:
|
|
||||||
showLinkInForwardedMessagesComboBox.currentIndex = rule;
|
|
||||||
break;
|
|
||||||
case TelegramAPI.SettingShowPhoneNumber:
|
|
||||||
showPhoneNumberComboBox.currentIndex = rule;
|
|
||||||
break;
|
|
||||||
case TelegramAPI.SettingShowProfilePhoto:
|
|
||||||
showProfilePhotoComboBox.currentIndex = rule;
|
|
||||||
break;
|
|
||||||
case TelegramAPI.SettingShowStatus:
|
|
||||||
showStatusComboBox.currentIndex = rule;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ResponsiveGrid {
|
|
||||||
ComboBox {
|
|
||||||
id: allowChatInvitesComboBox
|
|
||||||
width: parent.columnWidth
|
|
||||||
label: qsTr("Allow chat invites")
|
|
||||||
description: qsTr("Privacy setting for managing whether you can be invited to chats.")
|
|
||||||
menu: ContextMenu {
|
|
||||||
x: 0
|
|
||||||
width: allowChatInvitesComboBox.width
|
|
||||||
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Yes")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingAllowChatInvites, TelegramAPI.RuleAllowAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Your contacts only")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingAllowChatInvites, TelegramAPI.RuleAllowContacts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("No")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingAllowChatInvites, TelegramAPI.RuleRestrictAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
currentIndex = tdLibWrapper.getUserPrivacySettingRule(TelegramAPI.SettingAllowChatInvites);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ComboBox {
|
|
||||||
id: allowFindingByPhoneNumberComboBox
|
|
||||||
width: parent.columnWidth
|
|
||||||
label: qsTr("Allow finding by phone number")
|
|
||||||
description: qsTr("Privacy setting for managing whether you can be found by your phone number.")
|
|
||||||
menu: ContextMenu {
|
|
||||||
x: 0
|
|
||||||
width: allowFindingByPhoneNumberComboBox.width
|
|
||||||
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Yes")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingAllowFindingByPhoneNumber, TelegramAPI.RuleAllowAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Your contacts only")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingAllowFindingByPhoneNumber, TelegramAPI.RuleAllowContacts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
currentIndex = tdLibWrapper.getUserPrivacySettingRule(TelegramAPI.SettingAllowFindingByPhoneNumber);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ComboBox {
|
|
||||||
id: showLinkInForwardedMessagesComboBox
|
|
||||||
width: parent.columnWidth
|
|
||||||
label: qsTr("Show link in forwarded messages")
|
|
||||||
description: qsTr("Privacy setting for managing whether a link to your account is included in forwarded messages.")
|
|
||||||
menu: ContextMenu {
|
|
||||||
x: 0
|
|
||||||
width: showLinkInForwardedMessagesComboBox.width
|
|
||||||
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Yes")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowLinkInForwardedMessages, TelegramAPI.RuleAllowAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Your contacts only")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowLinkInForwardedMessages, TelegramAPI.RuleAllowContacts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("No")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowLinkInForwardedMessages, TelegramAPI.RuleRestrictAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
currentIndex = tdLibWrapper.getUserPrivacySettingRule(TelegramAPI.SettingShowLinkInForwardedMessages);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ComboBox {
|
|
||||||
id: showPhoneNumberComboBox
|
|
||||||
width: parent.columnWidth
|
|
||||||
label: qsTr("Show phone number")
|
|
||||||
description: qsTr("Privacy setting for managing whether your phone number is visible.")
|
|
||||||
menu: ContextMenu {
|
|
||||||
x: 0
|
|
||||||
width: showPhoneNumberComboBox.width
|
|
||||||
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Yes")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowPhoneNumber, TelegramAPI.RuleAllowAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Your contacts only")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowPhoneNumber, TelegramAPI.RuleAllowContacts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("No")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowPhoneNumber, TelegramAPI.RuleRestrictAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
currentIndex = tdLibWrapper.getUserPrivacySettingRule(TelegramAPI.SettingShowPhoneNumber);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ComboBox {
|
|
||||||
id: showProfilePhotoComboBox
|
|
||||||
width: parent.columnWidth
|
|
||||||
label: qsTr("Show profile photo")
|
|
||||||
description: qsTr("Privacy setting for managing whether your profile photo is visible.")
|
|
||||||
menu: ContextMenu {
|
|
||||||
x: 0
|
|
||||||
width: showProfilePhotoComboBox.width
|
|
||||||
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Yes")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowProfilePhoto, TelegramAPI.RuleAllowAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Your contacts only")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowProfilePhoto, TelegramAPI.RuleAllowContacts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("No")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowProfilePhoto, TelegramAPI.RuleRestrictAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
currentIndex = tdLibWrapper.getUserPrivacySettingRule(TelegramAPI.SettingShowProfilePhoto);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ComboBox {
|
|
||||||
id: showStatusComboBox
|
|
||||||
width: parent.columnWidth
|
|
||||||
label: qsTr("Show status")
|
|
||||||
description: qsTr("Privacy setting for managing whether your online status is visible.")
|
|
||||||
menu: ContextMenu {
|
|
||||||
x: 0
|
|
||||||
width: showStatusComboBox.width
|
|
||||||
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Yes")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowStatus, TelegramAPI.RuleAllowAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("Your contacts only")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowStatus, TelegramAPI.RuleAllowContacts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
text: qsTr("No")
|
|
||||||
onClicked: {
|
|
||||||
tdLibWrapper.setUserPrivacySettingRule(TelegramAPI.SettingShowStatus, TelegramAPI.RuleRestrictAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
currentIndex = tdLibWrapper.getUserPrivacySettingRule(TelegramAPI.SettingShowStatus);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
checked: appSettings.allowInlineBotLocationAccess
|
|
||||||
text: qsTr("Allow sending Location to inline bots")
|
|
||||||
description: qsTr("Some inline bots request location data when using them")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.allowInlineBotLocationAccess = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,216 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2020-21 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import WerkWolf.Fernschreiber 1.0
|
|
||||||
import "../../components"
|
|
||||||
import "../../js/functions.js" as Functions
|
|
||||||
|
|
||||||
AccordionItem {
|
|
||||||
text: qsTr("Sessions")
|
|
||||||
property SilicaFlickable flickable: parent.flickable
|
|
||||||
Component {
|
|
||||||
Column {
|
|
||||||
id: activeSessionsItem
|
|
||||||
bottomPadding: Theme.paddingMedium
|
|
||||||
property variant activeSessions
|
|
||||||
property int inactiveSessionsTtlDays
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
if (!activeSessions) {
|
|
||||||
tdLibWrapper.getActiveSessions();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: tdLibWrapper
|
|
||||||
onSessionsReceived: {
|
|
||||||
activeSessionsItem.activeSessions = sessions
|
|
||||||
activeSessionsItem.inactiveSessionsTtlDays = inactive_session_ttl_days
|
|
||||||
}
|
|
||||||
onOkReceived: {
|
|
||||||
if (request === "terminateSession") {
|
|
||||||
appNotification.show(qsTr("Session was terminated"));
|
|
||||||
tdLibWrapper.getActiveSessions();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Loader {
|
|
||||||
active: tdLibWrapper.authorizationState === TelegramAPI.AuthorizationReady
|
|
||||||
width: parent.width
|
|
||||||
sourceComponent: Component {
|
|
||||||
Column {
|
|
||||||
BusyIndicator {
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
running: !activeSessionsListView.count && !activeSessionsItem.inactiveSessionsTtlDays
|
|
||||||
size: BusyIndicatorSize.Medium
|
|
||||||
visible: opacity > 0
|
|
||||||
height: running ? implicitHeight : 0
|
|
||||||
}
|
|
||||||
|
|
||||||
SilicaListView {
|
|
||||||
id: activeSessionsListView
|
|
||||||
width: parent.width
|
|
||||||
height: contentHeight
|
|
||||||
model: activeSessionsItem.activeSessions
|
|
||||||
headerPositioning: ListView.OverlayHeader
|
|
||||||
header: Separator {
|
|
||||||
width: parent.width
|
|
||||||
color: Theme.primaryColor
|
|
||||||
horizontalAlignment: Qt.AlignHCenter
|
|
||||||
visible: activeSessionsListView.count > 0
|
|
||||||
}
|
|
||||||
delegate: ListItem {
|
|
||||||
id: activeSessionListItem
|
|
||||||
width: parent.width
|
|
||||||
contentHeight: activeSessionColumn.height + ( 2 * Theme.paddingMedium )
|
|
||||||
|
|
||||||
menu: ContextMenu {
|
|
||||||
hasContent: !modelData.is_current
|
|
||||||
onHeightChanged: {
|
|
||||||
if (parent && flickable) {
|
|
||||||
// Make sure we are inside the screen area
|
|
||||||
var bottom = parent.mapToItem(flickable, x, y).y + height
|
|
||||||
if (bottom > flickable.height) {
|
|
||||||
flickable.contentY += bottom - flickable.height
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
onClicked: {
|
|
||||||
var sessionId = modelData.id;
|
|
||||||
Remorse.itemAction(activeSessionListItem, qsTr("Terminating session"), function() { tdLibWrapper.terminateSession(sessionId); });
|
|
||||||
}
|
|
||||||
text: qsTr("Terminate Session")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
id: activeSessionColumn
|
|
||||||
width: parent.width - ( 2 * Theme.horizontalPageMargin )
|
|
||||||
spacing: Theme.paddingSmall
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
|
|
||||||
Label {
|
|
||||||
width: parent.width
|
|
||||||
text: qsTr("This app")
|
|
||||||
font.pixelSize: Theme.fontSizeMedium
|
|
||||||
font.bold: true
|
|
||||||
visible: modelData.is_current
|
|
||||||
color: Theme.highlightColor
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
width: parent.width
|
|
||||||
text: modelData.application_name + " " + modelData.application_version
|
|
||||||
font.pixelSize: Theme.fontSizeMedium
|
|
||||||
font.bold: true
|
|
||||||
maximumLineCount: 1
|
|
||||||
elide: Text.ElideRight
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
width: parent.width
|
|
||||||
text: modelData.device_model + ", " + (modelData.platform + " " + modelData.system_version).trim()
|
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
|
||||||
maximumLineCount: 1
|
|
||||||
truncationMode: TruncationMode.Fade
|
|
||||||
}
|
|
||||||
|
|
||||||
Label {
|
|
||||||
width: parent.width
|
|
||||||
text: qsTr("Active since: %1, last online: %2").arg(Functions.getDateTimeTimepoint(modelData.log_in_date)).arg(Functions.getDateTimeElapsed(modelData.last_active_date))
|
|
||||||
font.pixelSize: Theme.fontSizeExtraSmall
|
|
||||||
maximumLineCount: 1
|
|
||||||
truncationMode: TruncationMode.Fade
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Separator {
|
|
||||||
anchors {
|
|
||||||
bottom: parent.bottom
|
|
||||||
}
|
|
||||||
|
|
||||||
width: parent.width
|
|
||||||
color: Theme.primaryColor
|
|
||||||
horizontalAlignment: Qt.AlignHCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ComboBox {
|
|
||||||
readonly property int ttl: activeSessionsItem.inactiveSessionsTtlDays
|
|
||||||
label: qsTr("Session Timeout")
|
|
||||||
description: qsTr("Inactive sessions will be terminated after this timeframe")
|
|
||||||
value: (currentItem && currentItem.text) ? currentItem.text : qsTr("%1 day(s)", "", ttl).arg(ttl)
|
|
||||||
visible: ttl > 0
|
|
||||||
menu: ContextMenu {
|
|
||||||
id: ttlMenu
|
|
||||||
MenuItem {
|
|
||||||
readonly property int days: 7
|
|
||||||
text: qsTr("1 week")
|
|
||||||
onClicked: tdLibWrapper.setInactiveSessionTtl(days)
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
readonly property int days: 30
|
|
||||||
text: qsTr("1 month")
|
|
||||||
onClicked: tdLibWrapper.setInactiveSessionTtl(days)
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
readonly property int days: 90
|
|
||||||
text: qsTr("3 months")
|
|
||||||
onClicked: tdLibWrapper.setInactiveSessionTtl(days)
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
readonly property int days: 180
|
|
||||||
text: qsTr("6 months")
|
|
||||||
onClicked: tdLibWrapper.setInactiveSessionTtl(days)
|
|
||||||
}
|
|
||||||
MenuItem {
|
|
||||||
readonly property int days: 365
|
|
||||||
text: qsTr("1 year")
|
|
||||||
onClicked: tdLibWrapper.setInactiveSessionTtl(days)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component.onCompleted: updateSelection()
|
|
||||||
|
|
||||||
onTtlChanged: updateSelection()
|
|
||||||
|
|
||||||
function updateSelection() {
|
|
||||||
var menuItems = ttlMenu.children
|
|
||||||
var n = menuItems.length
|
|
||||||
for (var i = 0; i < n; i++) {
|
|
||||||
if (menuItems[i].days === ttl) {
|
|
||||||
currentIndex = i
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
currentIndex = -1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import WerkWolf.Fernschreiber 1.0
|
|
||||||
|
|
||||||
AccordionItem {
|
|
||||||
text: qsTr("Storage")
|
|
||||||
Component {
|
|
||||||
ResponsiveGrid {
|
|
||||||
bottomPadding: Theme.paddingMedium
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.onlineOnlyMode
|
|
||||||
text: qsTr("Enable online-only mode")
|
|
||||||
description: qsTr("Disables offline caching. Certain features may be limited or missing in this mode. Changes require a restart of Fernschreiber to take effect.")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.onlineOnlyMode = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TextSwitch {
|
|
||||||
width: parent.columnWidth
|
|
||||||
checked: appSettings.storageOptimizer
|
|
||||||
text: qsTr("Enable storage optimizer")
|
|
||||||
automaticCheck: false
|
|
||||||
onClicked: {
|
|
||||||
appSettings.storageOptimizer = !checked
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,346 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2021 Sebastian J. Wolf and other contributors
|
|
||||||
|
|
||||||
This file is part of Fernschreiber.
|
|
||||||
|
|
||||||
Fernschreiber is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
Fernschreiber is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with Fernschreiber. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import QtQuick 2.6
|
|
||||||
import Sailfish.Silica 1.0
|
|
||||||
import Sailfish.Pickers 1.0
|
|
||||||
import WerkWolf.Fernschreiber 1.0
|
|
||||||
import "../"
|
|
||||||
import "../../pages/"
|
|
||||||
import "../../js/twemoji.js" as Emoji
|
|
||||||
import "../../js/functions.js" as Functions
|
|
||||||
|
|
||||||
AccordionItem {
|
|
||||||
text: qsTr("User Profile")
|
|
||||||
Component {
|
|
||||||
Column {
|
|
||||||
id: accordionContent
|
|
||||||
bottomPadding: Theme.paddingMedium
|
|
||||||
|
|
||||||
readonly property var userInformation: tdLibWrapper.getUserInformation()
|
|
||||||
property bool uploadInProgress: false
|
|
||||||
property bool contactSyncEnabled: false
|
|
||||||
|
|
||||||
Component.onCompleted: {
|
|
||||||
tdLibWrapper.getUserProfilePhotos(userInformation.id, 100, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: tdLibWrapper
|
|
||||||
onOwnUserUpdated: {
|
|
||||||
firstNameEditArea.text = userInformation.first_name;
|
|
||||||
lastNameEditArea.text = userInformation.last_name;
|
|
||||||
userNameEditArea.text = userInformation.username;
|
|
||||||
}
|
|
||||||
onUserProfilePhotosReceived: {
|
|
||||||
if (extra === userInformation.id.toString()) {
|
|
||||||
imageContainer.thumbnailModel = photos;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onFileUpdated: {
|
|
||||||
if (uploadInProgress) {
|
|
||||||
profilePictureButtonColumn.visible = !fileInformation.remote.is_uploading_active;
|
|
||||||
uploadInProgress = fileInformation.remote.is_uploading_active;
|
|
||||||
if (!fileInformation.remote.is_uploading_active) {
|
|
||||||
uploadInProgress = false;
|
|
||||||
tdLibWrapper.getUserProfilePhotos(userInformation.id, 100, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
onOkReceived: {
|
|
||||||
if (request === "deleteProfilePhoto") {
|
|
||||||
tdLibWrapper.getUserProfilePhotos(userInformation.id, 100, 0);
|
|
||||||
}
|
|
||||||
if (request === "setProfilePhoto") {
|
|
||||||
tdLibWrapper.getUserProfilePhotos(userInformation.id, 100, 0);
|
|
||||||
profilePictureButtonColumn.visible = true;
|
|
||||||
uploadInProgress = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ResponsiveGrid {
|
|
||||||
x: Theme.horizontalPageMargin
|
|
||||||
|
|
||||||
InformationEditArea {
|
|
||||||
id: firstNameEditArea
|
|
||||||
visible: true
|
|
||||||
canEdit: true
|
|
||||||
headerText: qsTr("First Name", "first name of the logged-in profile - header")
|
|
||||||
text: userInformation.first_name
|
|
||||||
width: parent.columnWidth
|
|
||||||
headerLeftAligned: true
|
|
||||||
|
|
||||||
onSaveButtonClicked: {
|
|
||||||
if(!editItem.errorHighlight) {
|
|
||||||
tdLibWrapper.setName(textValue, lastNameEditArea.text);
|
|
||||||
} else {
|
|
||||||
isEditing = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onTextEdited: {
|
|
||||||
if(textValue.length > 0 && textValue.length < 65) {
|
|
||||||
editItem.errorHighlight = false;
|
|
||||||
editItem.label = "";
|
|
||||||
editItem.placeholderText = "";
|
|
||||||
} else {
|
|
||||||
editItem.label = qsTr("Enter 1-64 characters");
|
|
||||||
editItem.placeholderText = editItem.label;
|
|
||||||
editItem.errorHighlight = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
InformationEditArea {
|
|
||||||
id: lastNameEditArea
|
|
||||||
visible: true
|
|
||||||
canEdit: true
|
|
||||||
headerText: qsTr("Last Name", "last name of the logged-in profile - header")
|
|
||||||
text: userInformation.last_name
|
|
||||||
width: parent.columnWidth
|
|
||||||
headerLeftAligned: true
|
|
||||||
|
|
||||||
onSaveButtonClicked: {
|
|
||||||
if(!editItem.errorHighlight) {
|
|
||||||
tdLibWrapper.setName(firstNameEditArea.text, textValue);
|
|
||||||
} else {
|
|
||||||
isEditing = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onTextEdited: {
|
|
||||||
if(textValue.length >= 0 && textValue.length < 65) {
|
|
||||||
editItem.errorHighlight = false;
|
|
||||||
editItem.label = "";
|
|
||||||
editItem.placeholderText = "";
|
|
||||||
} else {
|
|
||||||
editItem.label = qsTr("Enter 0-64 characters");
|
|
||||||
editItem.placeholderText = editItem.label;
|
|
||||||
editItem.errorHighlight = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
InformationEditArea {
|
|
||||||
id: userNameEditArea
|
|
||||||
visible: true
|
|
||||||
canEdit: true
|
|
||||||
headerText: qsTr("Username", "user name of the logged-in profile - header")
|
|
||||||
text: userInformation.usernames.editable_username
|
|
||||||
width: parent.columnWidth
|
|
||||||
headerLeftAligned: true
|
|
||||||
|
|
||||||
onSaveButtonClicked: {
|
|
||||||
tdLibWrapper.setUsername(textValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
id: contactSyncItem
|
|
||||||
width: parent.width
|
|
||||||
height: syncInProgress ? ( syncContactsBusyIndicator.height + Theme.paddingMedium ) : ( syncContactsButton.height + Theme.paddingMedium )
|
|
||||||
visible: accordionContent.contactSyncEnabled
|
|
||||||
|
|
||||||
property bool syncInProgress: false
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: contactSyncLoader.item
|
|
||||||
onSyncError: {
|
|
||||||
contactSyncItem.syncInProgress = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: tdLibWrapper
|
|
||||||
onContactsImported: {
|
|
||||||
appNotification.show(qsTr("Contacts successfully synchronized with Telegram."));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
|
||||||
id: syncContactsButton
|
|
||||||
text: qsTr("Synchronize Contacts with Telegram")
|
|
||||||
visible: !contactSyncItem.syncInProgress
|
|
||||||
anchors {
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
onClicked: {
|
|
||||||
contactSyncLoader.item.synchronize();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
BusyIndicator {
|
|
||||||
id: syncContactsBusyIndicator
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
running: contactSyncItem.syncInProgress
|
|
||||||
size: BusyIndicatorSize.Small
|
|
||||||
visible: running
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
SectionHeader {
|
|
||||||
horizontalAlignment: Text.AlignLeft
|
|
||||||
text: qsTr("Profile Pictures")
|
|
||||||
}
|
|
||||||
|
|
||||||
Row {
|
|
||||||
width: parent.width - ( 2 * Theme.horizontalPageMargin )
|
|
||||||
spacing: Theme.paddingMedium
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: imageContainer
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
width: parent.width / 2
|
|
||||||
height: profilePictureLoader.height
|
|
||||||
property var thumbnailModel: ({})
|
|
||||||
property bool thumbnailVisible: true
|
|
||||||
property bool thumbnailActive: thumbnailModel.length > 0
|
|
||||||
property int thumbnailRadius: imageContainer.width / 2
|
|
||||||
|
|
||||||
Loader {
|
|
||||||
id: profilePictureLoader
|
|
||||||
active: imageContainer.thumbnailActive
|
|
||||||
asynchronous: true
|
|
||||||
width: Theme.itemSizeExtraLarge
|
|
||||||
height: Theme.itemSizeExtraLarge
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
source: "../ProfilePictureList.qml"
|
|
||||||
}
|
|
||||||
|
|
||||||
ProfileThumbnail {
|
|
||||||
id: chatPictureReplacement
|
|
||||||
visible: !profilePictureLoader.active
|
|
||||||
replacementStringHint: Functions.getUserName(accordionContent.userInformation)
|
|
||||||
radius: imageContainer.thumbnailRadius
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
width: Theme.itemSizeExtraLarge
|
|
||||||
height: Theme.itemSizeExtraLarge
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
id: profilePictureButtonColumn
|
|
||||||
spacing: Theme.paddingSmall
|
|
||||||
width: parent.width / 2
|
|
||||||
|
|
||||||
Button {
|
|
||||||
id: addProfilePictureButton
|
|
||||||
text: qsTr("Add Picture")
|
|
||||||
anchors {
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
onClicked: {
|
|
||||||
pageStack.push(imagePickerPage);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
|
||||||
id: removeProfilePictureButton
|
|
||||||
text: qsTr("Delete Picture")
|
|
||||||
anchors {
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
onClicked: {
|
|
||||||
var pictureIdForDeletion = imageContainer.thumbnailModel[profilePictureLoader.item.currentPictureIndex].id;
|
|
||||||
Remorse.popupAction(settingsPage, qsTr("Deleting profile picture"), function() { tdLibWrapper.deleteProfilePhoto(pictureIdForDeletion) });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
id: uploadStatusColumn
|
|
||||||
visible: !profilePictureButtonColumn.visible
|
|
||||||
spacing: Theme.paddingMedium
|
|
||||||
width: parent.width / 2
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: uploadingText
|
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
|
||||||
text: qsTr("Uploading...")
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
|
||||||
color: Theme.secondaryColor
|
|
||||||
width: parent.width
|
|
||||||
}
|
|
||||||
|
|
||||||
BusyIndicator {
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
running: uploadStatusColumn.visible
|
|
||||||
size: BusyIndicatorSize.Medium
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Loader {
|
|
||||||
id: contactSyncLoader
|
|
||||||
source: "../ContactSync.qml"
|
|
||||||
active: true
|
|
||||||
onLoaded: {
|
|
||||||
accordionContent.contactSyncEnabled = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Component {
|
|
||||||
id: imagePickerPage
|
|
||||||
ImagePickerPage {
|
|
||||||
onSelectedContentPropertiesChanged: {
|
|
||||||
profilePictureButtonColumn.visible = false;
|
|
||||||
uploadInProgress = true;
|
|
||||||
tdLibWrapper.setProfilePhoto(selectedContentProperties.filePath);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Column {
|
|
||||||
|
|
||||||
width: parent.width - ( 2 * Theme.horizontalPageMargin )
|
|
||||||
spacing: Theme.paddingMedium
|
|
||||||
|
|
||||||
Label {
|
|
||||||
width: parent.width
|
|
||||||
height: Theme.fontSizeExtraLarge
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
horizontalAlignment: Text.AlignHCenter
|
|
||||||
verticalAlignment: Text.AlignBottom
|
|
||||||
text: qsTr("Phone number: +%1").arg(accordionContent.userInformation.phone_number)
|
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
|
||||||
wrapMode: Text.Wrap
|
|
||||||
anchors {
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Button {
|
|
||||||
id: logOutButton
|
|
||||||
text: qsTr("Log Out")
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
onClicked: Remorse.popupAction(settingsPage, qsTr("Logged out"), function() {
|
|
||||||
tdLibWrapper.logout();
|
|
||||||
pageStack.pop();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -40,16 +40,6 @@ ApplicationWindow
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Connections {
|
|
||||||
target: tdLibWrapper
|
|
||||||
onOpenFileExternally: {
|
|
||||||
Qt.openUrlExternally(filePath);
|
|
||||||
}
|
|
||||||
onTgUrlFound: {
|
|
||||||
Functions.handleLink(tgUrl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
AppNotification {
|
AppNotification {
|
||||||
id: appNotification
|
id: appNotification
|
||||||
parent: pageStack.currentPage
|
parent: pageStack.currentPage
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" xml:space="preserve"><path fill="#141414" d="M7 5a4 4 0 0 0-4 4v18a4 4 0 0 0 4 4h6V5H7z"/><path fill="#FDDA24" d="M13 5h10v26H13z"/><path fill="#EF3340" d="M29 5h-6v26h6a4 4 0 0 0 4-4V9a4 4 0 0 0-4-4z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#141414" d="M4 5C1.791 5 0 6.791 0 9v18c0 2.209 1.791 4 4 4h8V5H4z"/><path fill="#FEE833" d="M12 5h12v26H12z"/><path fill="#EE232C" d="M32 5h-8v26h8c2.209 0 4-1.791 4-4V9c0-2.209-1.791-4-4-4z"/></svg>
|
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 272 B |
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" xml:space="preserve"><path fill="#138808" d="M0 27a4 4 0 0 0 4 4h28a4 4 0 0 0 4-4v-5H0v5z"/><path fill="#F93" d="M36 14V9a4 4 0 0 0-4-4H4a4 4 0 0 0-4 4v5h36z"/><path fill="#F7F7F7" d="M0 13.667h36v8.667H0z"/><circle fill="navy" cx="18" cy="18" r="4"/><circle fill="#F7F7F7" cx="18" cy="18" r="3.375"/><path d="m18.1 16.75-.1.65-.1-.65.1-1.95zm-.928-1.841.408 1.909.265.602-.072-.653zm-.772.32.888 1.738.412.513-.238-.613zm-.663.508 1.308 1.45.531.389-.389-.531zm-.508.663 1.638 1.062.613.238-.513-.412zm-.32.772 1.858.601.653.072-.602-.265zM14.8 18l1.95.1.65-.1-.65-.1zm.109.828 1.909-.408.602-.265-.653.072zm.32.772 1.738-.888.513-.412-.613.238zm.508.663 1.45-1.308.389-.531-.531.389zm.663.508 1.062-1.638.238-.613-.412.513zm.772.32.601-1.858.072-.653-.265.602zM18 21.2l.1-1.95-.1-.65-.1.65zm.828-.109-.408-1.909-.265-.602.072.653zm.772-.32-.888-1.738-.412-.513.238.613zm.663-.508-1.308-1.45-.531-.389.389.531zm.508-.663-1.638-1.062-.613-.238.513.412zm.32-.772-1.858-.601-.653-.072.602.265zM21.2 18l-1.95-.1-.65.1.65.1zm-.109-.828-1.909.408-.602.265.653-.072zm-.32-.772-1.738.888-.513.412.613-.238zm-.508-.663-1.45 1.308-.389.531.531-.389zm-.663-.508-1.062 1.638-.238.613.412-.513zm-.772-.32-.601 1.858-.072.653.265-.602z" fill="#6666B3"/><g fill="navy"><circle cx="17.56" cy="14.659" r=".2"/><circle cx="16.71" cy="14.887" r=".2"/><circle cx="15.948" cy="15.326" r=".2"/><circle cx="15.326" cy="15.948" r=".2"/><circle cx="14.887" cy="16.71" r=".2"/><circle cx="14.659" cy="17.56" r=".2"/><circle cx="14.659" cy="18.44" r=".2"/><circle cx="14.887" cy="19.29" r=".2"/><circle cx="15.326" cy="20.052" r=".2"/><circle cx="15.948" cy="20.674" r=".2"/><circle cx="16.71" cy="21.113" r=".2"/><circle cx="17.56" cy="21.341" r=".2"/><circle cx="18.44" cy="21.341" r=".2"/><circle cx="19.29" cy="21.113" r=".2"/><circle cx="20.052" cy="20.674" r=".2"/><circle cx="20.674" cy="20.052" r=".2"/><circle cx="21.113" cy="19.29" r=".2"/><circle cx="21.341" cy="18.44" r=".2"/><circle cx="21.341" cy="17.56" r=".2"/><circle cx="21.113" cy="16.71" r=".2"/><circle cx="20.674" cy="15.948" r=".2"/><circle cx="20.052" cy="15.326" r=".2"/><circle cx="19.29" cy="14.887" r=".2"/><circle cx="18.44" cy="14.659" r=".2"/><circle cx="18" cy="18" r=".9"/></g></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#138808" d="M0 27c0 2.209 1.791 4 4 4h28c2.209 0 4-1.791 4-4v-4H0v4z"/><path fill="#EEE" d="M0 13h36v10H0z"/><path fill="#F93" d="M36 13V9c0-2.209-1.791-4-4-4H4C1.791 5 0 6.791 0 9v4h36z"/><circle fill="navy" cx="18" cy="18" r="4"/><circle fill="#EEE" cx="18" cy="18" r="3"/><path fill="#6666B3" d="M18 15l.146 2.264 1.001-2.035-.73 2.147 1.704-1.498-1.497 1.705 2.147-.731-2.035 1.002L21 18l-2.264.146 2.035 1.001-2.147-.73 1.497 1.704-1.704-1.497.73 2.147-1.001-2.035L18 21l-.146-2.264-1.002 2.035.731-2.147-1.705 1.497 1.498-1.704-2.147.73 2.035-1.001L15 18l2.264-.146-2.035-1.002 2.147.731-1.498-1.705 1.705 1.498-.731-2.147 1.002 2.035z"/><circle fill="navy" cx="18" cy="18" r="1"/></svg>
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 765 B |
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#060" d="M36 27c0 2.209-1.791 4-4 4H4c-2.209 0-4-1.791-4-4V9c0-2.209 1.791-4 4-4h28c2.209 0 4 1.791 4 4v18z"/><path fill="#D52B1E" d="M32 5H15v26h17c2.209 0 4-1.791 4-4V9c0-2.209-1.791-4-4-4z"/><path fill="#FFCC4D" d="M15 10c-4.419 0-8 3.581-8 8 0 4.418 3.581 8 8 8 4.418 0 8-3.582 8-8 0-4.419-3.582-8-8-8zm-6.113 4.594l1.602 1.602-2.46 1.23c.083-1.022.383-1.981.858-2.832zm-.858 3.979l4.4 2.207-2.706 1.804.014.021c-.96-1.097-1.583-2.492-1.708-4.032zM14 24.92c-.937-.134-1.813-.453-2.592-.92H14v.92zM14 23h-3.099L14 20.934V23zm0-3.268l-.607.405L9.118 18l2.116-1.058L14 19.707v.025zm0-1.439l-3.543-3.543 3.543.59v2.953zm0-3.992l-4.432-.713c1.084-1.333 2.65-2.253 4.432-2.508v3.221zm7.113.293c.475.851.775 1.81.858 2.833l-2.46-1.23 1.602-1.603zM16 11.08c1.782.256 3.348 1.175 4.432 2.508L16 14.301V11.08zm0 4.26l3.543-.591L16 18.293V15.34zm0 4.367l2.765-2.765L20.882 18l-4.274 2.137-.608-.405v-.025zm0 5.213V24h2.592c-.779.467-1.655.786-2.592.92zM16 23v-2.066L19.099 23H16zm4.264-.395l.014-.021-2.706-1.804 4.4-2.207c-.126 1.54-.749 2.935-1.708 4.032z"/><path fill="#D52B1E" d="M11 13v7c0 2.209 1.791 4 4 4s4-1.791 4-4v-7h-8z"/><path fill="#FFF" d="M12 14v6c0 1.656 1.343 3 3 3s3-1.344 3-3v-6h-6z"/><path fill="#829ACD" d="M13 17h4v2h-4z"/><path fill="#829ACD" d="M14 16h2v4h-2z"/><path fill="#039" d="M12 17h1v2h-1zm2 0h2v2h-2zm3 0h1v2h-1zm-3 3h2v2h-2zm0-6h2v2h-2z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#060" d="M36 27c0 2.209-1.791 4-4 4H4c-2.209 0-4-1.791-4-4V9c0-2.209 1.791-4 4-4h28c2.209 0 4 1.791 4 4v18z"/><path fill="#D52B1E" d="M32 5H15v26h17c2.209 0 4-1.791 4-4V9c0-2.209-1.791-4-4-4z"/><path fill="#FFCC4D" d="M15 10c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zm3.994 5.938l2.089-1.393c.491.863.803 1.839.888 2.881l-2.977-1.488zM16 24h2.592c-.779.467-1.655.786-2.592.92V24zm-7.971-6.574c.083-1.022.383-1.982.858-2.832l1.602 1.602-2.46 1.23zm0 1.147l3.747 1.874.447-.895L9.118 18l2.116-1.058 1.412 1.412.707-.707-1.176-1.176.046-.023-.447-.895-.344.172-.975-.975 1.461.244.164-.986-2.514-.419c1.084-1.333 2.65-2.253 4.432-2.508V23h-3.099l2.376-1.584-.555-.832-3 2 .014.021c-.959-1.097-1.582-2.492-1.707-4.032zM14 24.92c-.937-.135-1.813-.453-2.592-.92H14v.92zm6.287-2.34l-2.933-2.933-.707.707.471.471-.395.592L19.099 23H16V11.08c1.321.189 2.524.741 3.499 1.561l-2.657.886.316.948 3-1-.103-.308c.167.174.323.357.471.548l-2.804 1.869L18 16l-.224.447L20.882 18l-3.105 1.553.447.895 3.747-1.874c-.124 1.527-.737 2.913-1.684 4.006z"/><path fill="#D52B1E" d="M11 13v7c0 2.209 1.791 4 4 4s4-1.791 4-4v-7h-8z"/><path fill="#FFF" d="M12 14v6c0 1.656 1.343 3 3 3s3-1.344 3-3v-6h-6z"/><path fill="#829ACD" d="M13 17h4v2h-4z"/><path fill="#829ACD" d="M14 16h2v4h-2z"/><path fill="#039" d="M12 17h1v2h-1zm2 0h2v2h-2zm3 0h1v2h-1zm-3 3h2v2h-2zm0-6h2v2h-2z"/></svg>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#A7122D" d="M0 26.518V27c0 2.209 1.791 4 4 4h28c2.209 0 4-1.791 4-4v-.482H0z"/><path fill="#EEE" d="M0 22.181h36v4.485H0z"/><path fill="#292648" d="M0 13.513h36v8.821H0z"/><path fill="#EEE" d="M0 9.181h36v4.485H0z"/><path fill="#A7122D" d="M0 9.333V9c0-2.209 1.791-4 4-4h28c2.209 0 4 1.791 4 4v.333H0z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#ED1C24" d="M32 5H4C1.791 5 0 6.791 0 9h36c0-2.209-1.791-4-4-4z"/><path fill="#EEE" d="M0 9h36v4H0z"/><path fill="#ED1C24" d="M32 31H4c-2.209 0-4-1.791-4-4h36c0 2.209-1.791 4-4 4z"/><path fill="#EEE" d="M0 23h36v4H0z"/><path fill="#241D4F" d="M0 13h36v10H0z"/></svg>
|
Before Width: | Height: | Size: 382 B After Width: | Height: | Size: 338 B |
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#DD2E44" cx="18" cy="18" r="18"/><circle fill="#FFF" cx="18" cy="18" r="13.5"/><circle fill="#DD2E44" cx="18" cy="18" r="10"/><circle fill="#FFF" cx="18" cy="18" r="6"/><circle fill="#DD2E44" cx="18" cy="18" r="3"/><path opacity=".2" d="M18.24 18.282l13.144 11.754s-2.647 3.376-7.89 5.109L17.579 18.42l.661-.138z"/><path fill="#FFAC33" d="M18.294 19c-.255 0-.509-.097-.704-.292-.389-.389-.389-1.018 0-1.407l.563-.563c.389-.389 1.018-.389 1.408 0 .388.389.388 1.018 0 1.407l-.564.563c-.194.195-.448.292-.703.292z"/><path fill="#55ACEE" d="M24.016 6.981c-.403 2.079 0 4.691 0 4.691l7.054-7.388c.291-1.454-.528-3.932-1.718-4.238-1.19-.306-4.079.803-5.336 6.935zm5.003 5.003c-2.079.403-4.691 0-4.691 0l7.388-7.054c1.454-.291 3.932.528 4.238 1.718.306 1.19-.803 4.079-6.935 5.336z"/><path fill="#3A87C2" d="M32.798 4.485L21.176 17.587c-.362.362-1.673.882-2.51.046-.836-.836-.419-2.08-.057-2.443L31.815 3.501s.676-.635 1.159-.152-.176 1.136-.176 1.136z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#CCD6DD" cx="18" cy="18" r="18"/><circle fill="#3B88C3" cx="18" cy="18" r="14"/><circle fill="#DD2E44" cx="18" cy="18" r="10"/><circle fill="#FFAC33" cx="18" cy="18" r="6"/><path d="M34.864 29.199c-.42.306-1.257.592-1.934.592-1.965 0-4.654-.717-6.334-2.386l-2.954-3.872c-.274-.275-.357-.575-.21-.932.148-.359-.73-.601-.342-.601h5.058c1.867 0 4.308 1.256 5.925 3.018l.371.351c.772.843 1.183 1.629 1.182 2.386 0 .621-.272 1.087-.762 1.444z"/><path d="M28.305 35.204c-.771 0-1.632-.417-2.49-1.204l-.488-.378C23.532 31.977 22 29.491 22 27.59v-5.164c0-.396.5.514.865.363.363-.15.915-.066 1.195.214l3.166 3.124c1.699 1.711 3.061 4.619 3.061 6.62 0 .689-.143 1.255-.452 1.682-.364.499-.897.775-1.53.775z"/><path fill="#C1694F" d="M31.345 31.964c-.256 0-.487-.122-.683-.317l-14-14c-.391-.391-.391-1.023 0-1.415.391-.391 1.023-.39 1.414 0l14 14c.391.391.378 1.036-.013 1.427-.194.195-.461.305-.718.305z"/></svg>
|
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 976 B |
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" xml:space="preserve"><path fill="#880082" d="M0 27a4 4 0 0 0 4 4h28a4 4 0 0 0 4-4v-.5H0v.5z"/><path fill="#3558A0" d="M0 22.07h36v4.6H0z"/><path fill="#138F3E" d="M0 17.83h36v4.5H0z"/><path fill="#FAD220" d="M0 13.5h36V18H0z"/><path fill="#FF7300" d="M0 9.17h36v4.5H0z"/><path fill="#FF000E" d="M32 5H4a4 4 0 0 0-4 4v.33h36V9a4 4 0 0 0-4-4z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#880082" d="M0 27c0 2.209 1.791 4 4 4h28c2.209 0 4-1.791 4-4v-.5H0v.5z"/><path fill="#3558A0" d="M0 22.07h36v4.6H0z"/><path fill="#138F3E" d="M0 17.83h36v4.5H0z"/><path fill="#FAD220" d="M0 13.5h36V18H0z"/><path fill="#FF5000" d="M0 9.17h36v4.5H0z"/><path fill="#FF000E" d="M32 5H4C1.791 5 0 6.791 0 9v.33h36V9c0-2.209-1.791-4-4-4z"/></svg>
|
Before Width: | Height: | Size: 409 B After Width: | Height: | Size: 412 B |
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#5BCEFA" d="M0 27c0 2.209 1.791 4 4 4h28c2.209 0 4-1.791 4-4v-1.3H0V27z"/><path fill="#F5A9B8" d="M.026 20.5L0 25.8h36v-5.3z"/><path fill="#EEE" d="M0 15.3h36v5.3H0z"/><path fill="#F5A9B8" d="M0 9.902h36V15.4H0z"/><path fill="#5BCEFA" d="M36 9c0-2.209-1.791-4-4-4H4C1.791 5 0 6.791 0 9v1.2h36V9z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#5BCEFA" d="M0 27c0 2.209 1.791 4 4 4h28c2.209 0 4-1.791 4-4v-1.3H0V27z"/><path fill="#F5A9B8" d="M.026 20.5L0 25.8h36v-5.3z"/><path fill="#EEE" d="M0 15.3h36v5.3H0z"/><path fill="#F5A9B8" d="M.026 10.1L0 15.4h36v-5.3z"/><path fill="#5BCEFA" d="M36 9c0-2.209-1.791-4-4-4H4C1.791 5 0 6.791 0 9v1.2h36V9z"/></svg>
|
Before Width: | Height: | Size: 376 B After Width: | Height: | Size: 383 B |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#292F33" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F7DECE" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#292F33" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F7DECE" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#292F33" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F7DECE" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#FFE51E" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F3D2A2" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#292F33" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F7DECE" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#963B22" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#D4AB88" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#292F33" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F7DECE" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#60352A" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#AF7E57" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#915A34" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#292F33" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F7DECE" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#0B0200" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#7C533E" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#3D2E24" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F7DECE" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#292F33" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#F7DECE" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#292F33" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F7DECE" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#292F33" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#F3D2A2" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#FFE51E" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F7DECE" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#292F33" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#D4AB88" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#963B22" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F7DECE" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#292F33" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#AF7E57" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#60352A" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#915A34" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F7DECE" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#292F33" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#7C533E" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#0B0200" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#3D2E24" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFE51E" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F3D2A2" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#292F33" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F7DECE" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFE51E" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F3D2A2" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#FFE51E" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F3D2A2" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFE51E" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F3D2A2" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#963B22" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#D4AB88" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFE51E" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F3D2A2" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#60352A" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#AF7E57" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#915A34" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFE51E" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#F3D2A2" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#0B0200" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#7C533E" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#3D2E24" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F3D2A2" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#FFE51E" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#F7DECE" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#292F33" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F3D2A2" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#FFE51E" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#F3D2A2" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#FFE51E" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F3D2A2" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#FFE51E" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#D4AB88" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#963B22" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F3D2A2" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#FFE51E" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#AF7E57" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#60352A" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#915A34" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#F3D2A2" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#FFE51E" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#7C533E" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#0B0200" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#3D2E24" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#963B22" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#D4AB88" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#292F33" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F7DECE" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#963B22" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#D4AB88" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#FFE51E" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F3D2A2" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#963B22" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#D4AB88" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#963B22" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#D4AB88" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#963B22" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#D4AB88" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#60352A" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#AF7E57" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#915A34" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#963B22" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#D4AB88" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#C1694F" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#0B0200" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#7C533E" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#3D2E24" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#D4AB88" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#963B22" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#F7DECE" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#292F33" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#D4AB88" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#963B22" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#F3D2A2" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#FFE51E" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#D4AB88" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#963B22" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#D4AB88" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#963B22" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#D4AB88" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#963B22" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#AF7E57" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#60352A" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#915A34" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#D4AB88" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#963B22" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#C1694F" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#7C533E" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#0B0200" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#3D2E24" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#60352A" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#AF7E57" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#915A34" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#292F33" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F7DECE" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#60352A" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#AF7E57" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#915A34" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#FFE51E" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F3D2A2" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#60352A" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#AF7E57" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#915A34" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#963B22" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#D4AB88" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#60352A" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#AF7E57" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#915A34" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#60352A" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#AF7E57" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#915A34" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#60352A" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#AF7E57" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#915A34" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path fill="#662113" d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#0B0200" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#7C533E" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#3D2E24" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#AF7E57" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#60352A" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#915A34" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#F7DECE" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#292F33" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#AF7E57" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#60352A" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#915A34" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#F3D2A2" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#FFE51E" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#AF7E57" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#60352A" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#915A34" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#D4AB88" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#963B22" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#C1694F" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#AF7E57" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#60352A" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#915A34" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#AF7E57" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#60352A" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path fill="#662113" d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#915A34" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#AF7E57" d="M5 8.042c6.626 0 12 5.373 12 12 0 6.626-5.374 12-12 12-1.787 0-3.476-.401-5-1.102V9.143c1.524-.7 3.213-1.101 5-1.101z"/><path fill="#60352A" d="M15.333 15.042c-.055.06-.128.115-.197.171-.72.716-1.753 1.477-3.219 2.036-3.691 1.407-9.121.297-9.121.297s.748-1.198 2.101-2.492c-1.809.549-3.463 1.359-4.897 2.371v-9.25c1.81-.903 3.843-1.425 6-1.428 6.508-.008 9.915 3.393 10.059 6.135.176.085.352.168.531.265 0 0-.237.641-.902 1.459-.077.094-.161.191-.249.29-.038.047-.064.1-.106.146z"/><path fill="#662113" d="M10 21.542c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5zm-5 0c1.411 0 1.497-1.251 1.5-1.503.001-.274.225-.497.5-.497.276 0 .5.224.5.5 0 .864-.523 2.5-2.5 2.5-.276 0-.5-.224-.5-.5 0-.277.224-.5.5-.5z"/><path fill="#915A34" d="M9.995 25.542c-.273-.003-.495-.226-.495-.5 0-.276.224-.5.5-.5.602 0 1.5.399 1.5 1.5 0 .438-.143.765-.352 1 .209.235.352.562.352 1 0 1.101-.898 1.5-1.5 1.5-.273 0-.493-.22-.496-.494-.004-.273.217-.499.49-.506.231-.006.506-.098.506-.5s-.275-.494-.5-.5h-.011c-.272-.006-.489-.228-.489-.5 0-.274.222-.497.495-.5.23-.006.505-.098.505-.5 0-.403-.274-.494-.505-.5z"/><path fill="#7C533E" d="M31 8.042c-6.626 0-12 5.373-12 12 0 6.626 5.374 12 12 12 1.787 0 3.476-.401 5-1.102V9.143c-1.524-.7-3.213-1.101-5-1.101z"/><path fill="#0B0200" d="M20.667 15.042c.055.06.128.115.197.171.72.716 1.753 1.477 3.219 2.036 3.691 1.407 9.121.297 9.121.297s-.748-1.198-2.101-2.492c1.809.549 3.463 1.358 4.897 2.371v-9.25c-1.81-.904-3.843-1.426-6-1.429-6.508-.008-9.915 3.393-10.059 6.135-.176.085-.352.168-.531.265 0 0 .237.641.902 1.459.077.094.161.191.249.29.038.048.064.101.106.147z"/><path d="M26 21.542c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5zm5 0c-1.411 0-1.497-1.251-1.5-1.503-.001-.274-.225-.497-.5-.497-.276 0-.5.224-.5.5 0 .864.523 2.5 2.5 2.5.276 0 .5-.224.5-.5 0-.277-.224-.5-.5-.5z"/><path fill="#3D2E24" d="M26.005 25.542c.273-.003.495-.226.495-.5 0-.276-.224-.5-.5-.5-.602 0-1.5.399-1.5 1.5 0 .438.143.765.352 1-.209.235-.352.562-.352 1 0 1.101.898 1.5 1.5 1.5.273 0 .493-.22.496-.494.004-.273-.217-.499-.49-.506-.231-.006-.506-.098-.506-.5s.275-.494.5-.5h.011c.272-.006.489-.228.489-.5 0-.274-.222-.497-.495-.5-.23-.006-.505-.098-.505-.5 0-.403.274-.494.505-.5z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#0B0200" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#7C533E" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#3D2E24" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#292F33" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F7DECE" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#0B0200" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#7C533E" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#3D2E24" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#FFE51E" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#F3D2A2" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#0B0200" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#7C533E" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#3D2E24" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#963B22" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#D4AB88" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#C1694F" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#0B0200" d="M11 11.844c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28V.425C.955.154 1.959 0 3 0c6.075 0 11 4.925 11 11 0 3.009-1.211 5.733-3.168 7.719.107-.557.168-1.13.168-1.719v-5.156z"/><path fill="#7C533E" d="M0 28.604L2 32l3-5v-1.523c2.968-1.051 5.222-3.607 5.832-6.757.107-.558.168-1.131.168-1.72v-5.156c-2.297-.669-3.315-3.565-3.734-5.369C6.313 7.952 4.23 10.155 0 11.28v17.324z"/><path fill="#3B94D9" d="M0 28.604L2 32l3-5h6c2.209 0 4 1.791 4 4v5H0v-7.396z"/><path fill="#1C6399" d="M10 32h1v4h-1z"/><path fill="#3D2E24" d="M5 22h1s-1 2-4 2c-.809 0-1.462-.151-2-.363V22h5zm-2-2.5H1c-.276 0-.5-.224-.5-.5s.224-.5.5-.5h2c.276 0 .5.224.5.5s-.224.5-.5.5z"/><path d="M6 16c-.553 0-1-.448-1-1v-1c0-.552.447-1 1-1s1 .448 1 1v1c0 .552-.447 1-1 1z"/><path fill="#60352A" d="M25 11.844c2.297-.669 3.315-3.565 3.734-5.369.953 1.477 3.036 3.68 7.266 4.805V.425C35.045.154 34.041 0 33 0c-6.075 0-11 4.925-11 11 0 3.009 1.211 5.733 3.168 7.719C25.061 18.162 25 17.589 25 17v-5.156z"/><path fill="#AF7E57" d="M36 11.28c-4.23-1.125-6.313-3.328-7.266-4.804-.42 1.804-1.438 4.699-3.734 5.369V17c0 .589.061 1.162.168 1.719.61 3.15 2.863 5.706 5.832 6.757V27l3 5 2-3.396V11.28z"/><path fill="#3B94D9" d="M36 28.604L34 32l-3-5h-6c-2.209 0-4 1.791-4 4v5h15v-7.396z"/><path fill="#1C6399" d="M25 32h1v4h-1z"/><path fill="#915A34" d="M31 22h-1s1 2 4 2c.809 0 1.462-.151 2-.363V22h-5zm2-2.5h2c.276 0 .5-.224.5-.5s-.224-.5-.5-.5h-2c-.276 0-.5.224-.5.5s.224.5.5.5z"/><path fill="#662113" d="M30 16c.553 0 1-.448 1-1v-1c0-.552-.447-1-1-1s-1 .448-1 1v1c0 .552.447 1 1 1z"/><path fill="#DD2E44" d="M26.539 4.711c0-2.602-2.11-4.711-4.711-4.711C20.249 0 18.855.78 18 1.972 17.144.78 15.751 0 14.172 0c-2.601 0-4.711 2.109-4.711 4.711 0 .369.047.727.127 1.07.654 4.065 5.173 8.353 8.411 9.529 3.238-1.177 7.758-5.465 8.412-9.528.081-.344.128-.702.128-1.071z"/></svg>
|
|
Before Width: | Height: | Size: 1.9 KiB |