Compare commits

..

406 Commits

Author SHA1 Message Date
3c7edae88a added loading widget, till spaces are valid 2025-05-02 21:59:45 +04:00
56c2d11535 Merge pull request #172 from SyncrowIOT/bugfix/pagination-scroll 2025-05-01 13:10:51 +04:00
3aa5bff758 Merge branch 'dev' of https://github.com/SyncrowIOT/web into bugfix/pagination-scroll 2025-05-01 13:10:16 +04:00
28d1e5a5a7 Merge pull request #171 from SyncrowIOT/bugfix/sibling-name 2025-05-01 12:41:22 +04:00
fe036a8190 added validation for name 2025-05-01 12:40:12 +04:00
82e145de9d added spinning indicator 2025-04-30 23:29:48 +04:00
ebeb514a5b Merge pull request #170 from SyncrowIOT:bugfix/fix-issue-in-save
fixed save issue
2025-04-30 22:49:41 +04:00
6b7e02ee53 Merge branch 'dev' of https://github.com/SyncrowIOT/web into bugfix/fix-issue-in-save 2025-04-30 22:48:41 +04:00
b01136b6e9 fixed on save issue 2025-04-30 22:47:54 +04:00
fe1dbb66ac Merge pull request #168 from SyncrowIOT/flush-presence-sensor-routines
fix real time garage door and add flush sensor to routines
2025-04-29 10:25:17 +03:00
ea88f54d20 Refactor garage door control view to use 'doorcontact_state' code for fetching records 2025-04-29 10:22:00 +03:00
ccce7bb671 fix real time garage door and add flush sensor to routines 2025-04-29 10:06:17 +03:00
b4de07de2f Merge pull request #167 from SyncrowIOT:bugfix/fix-repeated-duplication
fixed repeated duplication
2025-04-29 10:14:03 +04:00
acefe6b433 fixed repeated duplication 2025-04-29 10:13:11 +04:00
63bc7a56de - Refactor the code in _RoutinesViewState to improve readability and maintainability.
- Update the indentation and add padding to the child widgets in the Column.
- Add a bottom padding to the empty state text in _buildEmptyState.
2025-04-28 16:49:22 +03:00
7b3635deae Merge pull request #166 from SyncrowIOT/bugfix/clear-search
fixed community search caching
2025-04-28 16:27:38 +04:00
58755eafe1 Merge branch 'dev' of https://github.com/SyncrowIOT/web into bugfix/clear-search 2025-04-28 16:26:47 +04:00
ce225818fb fixed community search caching 2025-04-28 16:25:43 +04:00
8762a7aaa8 Merge pull request #165 from SyncrowIOT/bugfix/white-page-rendering 2025-04-28 15:22:37 +04:00
8dc833b2c3 fixed blank page rendering 2025-04-28 15:21:28 +04:00
13cef151aa Merge pull request #164 from SyncrowIOT/bugfix/space-model-with-tags 2025-04-28 14:37:26 +04:00
ab23be9828 fixed the issue in selecting space model and tag 2025-04-28 14:36:27 +04:00
687b68ab22 Merge pull request #163 from SyncrowIOT/fix/duplication-flatten
Fix/duplication-flatten
2025-04-28 13:00:17 +04:00
25614c3dd0 fix the flatten 2025-04-28 12:59:16 +04:00
7cbe20ae88 remove unused code 2025-04-28 12:56:29 +04:00
349fe6c555 realignment 2025-04-28 11:58:41 +04:00
9779f3783c Merge branch 'dev' of https://github.com/SyncrowIOT/web into dev 2025-04-28 10:03:31 +04:00
fe3db663b6 realign initially 2025-04-28 10:03:27 +04:00
888d444752 Merge pull request #160 from SyncrowIOT/SP-1478-FE-On-devices-management-page-when-we-open-power-clamp-device-loading-indicator-remains-loading-and-no-data-is-displayed
Sp 1478 fe on devices management page when we open power clamp device loading indicator remains loading and no data is displayed
2025-04-28 08:59:17 +03:00
bab5e06968 Merge pull request #159 from SyncrowIOT/SP-1463-rework
Sp 1463 rework
2025-04-28 08:58:39 +03:00
d7b6174dee Merge pull request #162 from SyncrowIOT:bugfix/save-spaces
fixed the save issue
2025-04-28 00:37:33 +04:00
6ef0b2f9d1 fixed the save issue 2025-04-28 00:36:58 +04:00
3ceb03826e Merge pull request #161 from SyncrowIOT/bugfix/searchquery 2025-04-27 22:44:57 +04:00
52608b1f35 fixed search query 2025-04-27 22:42:57 +04:00
ac2996629e resolved an exception that was thrown when resizing the DeviceSearchFilters. 2025-04-27 15:42:50 +03:00
51c52c66cb SP-1478-FE-On-devices-management-page-when-we-open-power-clamp-device-loading-indicator-remains-loading-and-no-data-is-displayed 2025-04-27 15:18:19 +03:00
0f56273d99 SP-1408 2025-04-27 12:10:38 +03:00
34d4d892d9 refactor: streamline value calculations in FlushMountedPresenceSensorControlView 2025-04-27 11:11:38 +03:00
3193fd26fe refactor: update presence delay value and enhance request handling in DebouncedBatchControlDevicesService 2025-04-27 11:04:54 +03:00
43802a9fad refactor: update detection value calculations and adjust parameters for presence delay 2025-04-27 10:57:44 +03:00
6e0b1775f0 fix: reorder constructor parameters for consistency in FlushMountedPresenceSensorControlView 2025-04-27 10:55:18 +03:00
233fb2ee2c refactor: improve formatting of clamp method for near and far detection values 2025-04-27 10:55:03 +03:00
b26928b3d5 fixed ui bugs. 2025-04-27 10:14:35 +03:00
6fc35a7b9a enhanced device debouncing to accomodate for multiple calls from the different devices functions calls. 2025-04-27 10:14:19 +03:00
756457927c removed unnecessary isBatch flag from FlushMountedPresenceSensorChangeValueEvent. 2025-04-27 10:13:53 +03:00
f30d7c0117 Merge pull request #158 from SyncrowIOT:bugfix/duplicate-space
Bugfix/duplicate-space
2025-04-27 11:13:07 +04:00
976d6e385a duplicated space 2025-04-27 11:12:03 +04:00
ff07e7509d fixed the issue in aligning child space 2025-04-26 16:04:41 +04:00
17a582ab99 Merge pull request #157 from SyncrowIOT/SP-1415 2025-04-25 10:50:06 +04:00
09fb604acc added filtering 2025-04-25 10:49:25 +04:00
2068df173d Merge pull request #155 from SyncrowIOT/SP-1441-rework-FE-On-routine-creation-page-When-the-user-drags-a-card-that-has-signs-and-selects-a-sign-without-a-number-then-confirms-the-value-appears-to-be-Null
Sp 1441 rework fe on routine creation page when the user drags a card that has signs and selects a sign without a number then confirms the value appears to be null
2025-04-24 16:25:39 +03:00
bfc2a381d2 Merge pull request #156 from SyncrowIOT/SP-1464-FE-implement-Batch-Control-Dialog
Sp 1464 fe implement batch control dialog
2025-04-24 16:25:17 +03:00
778257644d reduced debounce duration. 2025-04-24 15:13:10 +03:00
c8e540e938 Remove unnecessary event dispatch in FlushMountedPresenceSensorBlocFactory creation 2025-04-24 14:29:18 +03:00
ba20998067 disabled realtime on batch control. 2025-04-24 14:21:38 +03:00
75b0b24543 Add Flush Mounted Presence Sensor support and update event handling 2025-04-24 14:13:13 +03:00
c03b8f290c refactor function tap handlers to use RoutineTapFunctionHelper for improved code reuse and readability, and to remove code duplication. 2025-04-24 10:25:41 +03:00
2c684a9495 SP-1441 rework. 2025-04-23 16:58:50 +03:00
fbc45b465f Merge pull request #153 from SyncrowIOT/SP-1344-FE-Real-Time-Issues-Ceiling-Sensor-AC-and-Garage-Door-Sensor
Refactor widget lifecycle methods for temperature control and presenc…
2025-04-23 16:29:36 +03:00
c9c939c59f Merge pull request #154 from SyncrowIOT/Add-Flush-Mounted-Presence-Sensor-Single-Control
Add flush mounted presence sensor single control
2025-04-23 16:21:17 +03:00
e1a2465130 Fix deviceId assignment in FlushMountedPresenceSensorBlocFactory and update _listenToChanges method for async handling 2025-04-23 13:11:25 +03:00
86164e746a Refactor FlushMountedPresenceSensorBloc creation to use factory method and streamline dependency injection 2025-04-23 12:15:50 +03:00
4a5176cf22 Refactor presence update data handling for improved precision and scaling 2025-04-23 12:11:13 +03:00
2bb7a6950a Refactor debounce duration handling in BatchControlDevicesService and ControlDeviceService 2025-04-23 10:52:08 +03:00
46860619a0 Add bloc dependency to pubspec.yaml 2025-04-23 10:48:24 +03:00
d1bb7b129f Refactor widget lifecycle methods for temperature control and presence sensor 2025-04-23 10:46:56 +03:00
7adce3b94c Refactor _onFlushMountedPresenceSensorFetchBatchStatusEvent to use final for response variable 2025-04-23 10:44:44 +03:00
91f93d4395 Refactor FlushMountedPresenceSensorBloc to streamline device control logic and remove redundant code 2025-04-23 10:44:11 +03:00
42d6b64e58 Refactor FlushMountedPresenceSensorBloc to replace _runDeBouncer with _controlDevice for handling device control logic 2025-04-23 10:32:49 +03:00
b11d4186fb Add BatchControlDevicesService integration to FlushMountedPresenceSensorBloc and ControlView 2025-04-23 10:31:26 +03:00
24130be665 organized instances in bloc. 2025-04-23 10:26:55 +03:00
8c960bd5f1 created BatchControlDevicesService interface. 2025-04-23 10:26:17 +03:00
fb8ccdf0a6 Add FlushMountedPresenceSensorControlView for managing presence sensor settings 2025-04-23 10:24:38 +03:00
1975a1b6f4 created FlushMountedPresenceSensorBloc, events, and states for device management. 2025-04-23 10:24:14 +03:00
367d6717e7 Refactor PresenceUpdateData widget to support decimal values. 2025-04-23 10:23:28 +03:00
8c637e40ff Created FlushMountedPresenceSensorModel model. 2025-04-23 10:23:00 +03:00
05b3180510 Created ControlDeviceService interface and its remote and debounced implementation. 2025-04-23 10:22:41 +03:00
177a4711fe Synced main_dev and main_staging with main.dart 2025-04-22 03:39:27 +03:00
d7a37c6519 Removed flavor from Flutter run and build commands 2025-04-22 03:01:43 +03:00
b901791079 Update Flutter run and build commands, and added main_staging file 2025-04-22 02:33:50 +03:00
5d16555748 Merge pull request #151 from SyncrowIOT/SP-1447-FE-Invalid-Time-Limit-24h-Exceeding-Backend-Max-of-12h
SP-1447.
2025-04-21 18:59:57 +03:00
bd15f30b8a Merge pull request #150 from SyncrowIOT/SP-1440-FE-On-routine-creation-edit-Page-When-saving-a-routine-the-confirmation-pop-up-is-not-identical-to-design
Sp 1440 fe on routine creation edit page when saving a routine the confirmation pop up is not identical to design
2025-04-21 18:59:37 +03:00
5f2684bdf4 Merge pull request #152 from SyncrowIOT/SP-702-WEB-Username-Caching-After-Logout-Requires-Screen-Refresh
Sp 702 web username caching after logout requires screen refresh
2025-04-21 18:58:57 +03:00
b4ef22ef0a SP-702/ clears user data on logging out. 2025-04-21 14:23:40 +03:00
d8afb562eb SP-1447, set the limit of gangs countdown to be 12 hours instead of 24 hours. 2025-04-21 12:07:21 +03:00
67a164e6d2 modified divider color to match figma design. 2025-04-21 10:59:09 +03:00
cf20bdcd42 SP-1440 2025-04-21 10:57:46 +03:00
32b45ea5d7 Merge pull request #149 from SyncrowIOT/SP-1441-FE-On-routine-creation-page-When-the-user-drags-a-card-that-has-signs-and-selects-a-sign-without-a-number-then-confirms-the-value-appears-to-be-Null
Sp 1441 fe on routine creation page when the user drags a card that has signs and selects a sign without a number then confirms the value appears to be null
2025-04-21 10:32:38 +03:00
62fb8b3097 SP-1441 2025-04-21 10:28:44 +03:00
065bd33511 SP-1330. 2025-04-21 10:03:02 +03:00
b9ab782c01 Merge pull request #148 from SyncrowIOT/SP-1435-FE-On-routines-page-when-the-screen-height-is-decreased-or-is-small-the-scroll-area-for-routine-cards-is-not-fitting-the-whole-screen-width
Sp 1435 fe on routines page when the screen height is decreased or is small the scroll area for routine cards is not fitting the whole screen width
2025-04-21 09:49:08 +03:00
4d5adf948c Merge pull request #147 from SyncrowIOT/SP-1433-FE-Text-Alignment-Issue-in-UI-Component-in-adding-subspace-in-a-space
Sp 1433 fe text alignment issue in UI component in adding subspace in a space
2025-04-21 09:48:38 +03:00
e45f57ca03 SP-1441 2025-04-17 16:55:44 +03:00
84264391d9 progress towards matching the design of save routine dialog. 2025-04-17 16:14:26 +03:00
2e4f904d3a style: improve code formatting and readability in SaveRoutineHelper 2025-04-17 14:39:33 +03:00
c46cfb48a8 refactor: extract IF and THEN sections into separate methods for better readability 2025-04-17 14:38:04 +03:00
a0dd128557 matched design of Function and action in SaveRoutineHelper.showSaveRoutineDialog 2025-04-17 14:30:30 +03:00
34fa426163 submitting password field in login logs the user in. 2025-04-17 14:17:43 +03:00
1407c173b0 tapping bugfix. 2025-04-17 13:28:00 +03:00
9431eb79c1 Fix loading state handling and refactor scene/automation rendering in FetchRoutineScenesAutomation 2025-04-17 13:18:44 +03:00
70f1f39fce Improve loading state handling and in FetchRoutineScenesAutomation. 2025-04-17 13:13:48 +03:00
f912b41fd8 Refactor visibility handling for scenes and automations in FetchRoutineScenesAutomation 2025-04-17 13:12:09 +03:00
977875f1f2 SP-1435 2025-04-17 13:08:16 +03:00
8136804694 bugfix. 2025-04-17 12:18:09 +03:00
ce253b2034 Remove unused parameters from CreateSubSpaceDialog constructor 2025-04-17 11:27:37 +03:00
024fbcdb83 Refactor CreateSubSpaceDialog to convert to StatefulWidget and manage text controller lifecycle 2025-04-17 11:25:39 +03:00
a8430a7d3d Merge pull request #145 from SyncrowIOT/SP-1330-FE-Side-tree-text-breaks-incorrectly-causing-layout-issues
Sp 1330 fe side tree text breaks incorrectly causing layout issues
2025-04-17 09:49:33 +03:00
7ef6020dd8 Merge pull request #144 from SyncrowIOT/SP-1333-FE-set-barrier-dismissable-to-true
Sp 1333 fe set barrier dismissable to true
2025-04-17 09:49:11 +03:00
2a77483f46 Refactor CreateSubSpaceDialog to improve widget structure and readability 2025-04-17 09:45:14 +03:00
a6fc99443b Refactor CreateSubSpaceDialog layout for improved readability and maintainability 2025-04-17 09:38:54 +03:00
ae95d06482 Fix constructor parameter order in CreateSubSpaceDialog 2025-04-17 09:35:47 +03:00
18c886753d added trailing commas wherever neccessary in CreateSubSpaceDialog. 2025-04-17 09:35:33 +03:00
62bf4f2944 Refactor CreateSubSpaceDialog to use context extension for screen width calculations 2025-04-17 09:34:03 +03:00
726c173a76 SP-1433-FE-Text-Alignment-Issue-in-UI-Component-in-adding-subspace-in-a-space 2025-04-17 09:33:10 +03:00
d538b3667e Merge pull request #146 from SyncrowIOT/Fix-Factory-Reset-Model
Refactor FactoryResetModel and MainDoorSensorBatchView
2025-04-17 09:18:43 +03:00
72ae3b1727 Refactor FactoryResetModel and MainDoorSensorBatchView
- Refactor FactoryResetModel to include 'operationType' in toJson and toMap methods.
- Refactor MainDoorSensorBatchView to use BlocProvider and Builder for better state management.
2025-04-16 15:06:50 +03:00
01d5cb48cc Refactor onChanged callback in Checkbox for improved readability in CustomExpansionTileSpaceTree. 2025-04-16 14:49:20 +03:00
3216d6b879 Refactor fillColor assignment in CustomExpansionTileSpaceTree for improved readability. 2025-04-16 14:47:52 +03:00
52e1ff94de Refactor onItemSelected handling in CustomExpansionTileSpaceTree for improved readability. 2025-04-16 14:47:42 +03:00
0cc867a4ea Refactor text color assignment in CustomExpansionTileSpaceTree for improved readability. 2025-04-16 14:47:19 +03:00
3de7606a00 Refactor expansion icon handling in CustomExpansionTileSpaceTree for improved readability and maintainability. 2025-04-16 14:46:37 +03:00
f709b92e12 Refactor constructor formatting and improve readability in CustomExpansionTileSpaceTree. 2025-04-16 14:44:31 +03:00
f1667d4458 Refactor type annotations for onExpansionChanged and onItemSelected in CustomExpansionTileSpaceTree for improved clarity. 2025-04-16 14:44:11 +03:00
b4f03ab6c3 Initialize ScrollController in initState for better state management in SpaceTreeView. 2025-04-16 14:36:37 +03:00
4c38c50649 Refactor notification handling in SidebarCommunitiesList for improved readability and maintainability. 2025-04-16 14:35:29 +03:00
8b441aaf46 Refactor SidebarCommunitiesList to be a StatelessWidget and update its usage across SpaceTreeView and SidebarWidget for improved performance and maintainability. 2025-04-16 14:09:36 +03:00
afdd44e098 removed comments from SpaceTreeView. 2025-04-16 13:18:52 +03:00
fc1d394509 Extracted SidebarCommunitiesList into a reusable widget. 2025-04-16 13:17:09 +03:00
dce44e20ec Extracted EmptyResultsWidget into its own widget and file for reusability. 2025-04-16 13:11:56 +03:00
91c4c772b5 SP-1330. 2025-04-16 13:08:38 +03:00
e0be44a507 Merged with dev 2025-04-16 04:00:07 +03:00
d4a7dd5854 Fixed design issues, added tag and location to the save dialog 2025-04-16 03:46:10 +03:00
50eb890d18 Merge pull request #142 from SyncrowIOT/SP-1278-FE-Allow-Simple-Edit-Delete
Added Ceiling Presence Sensor Device To Routine
2025-04-15 16:56:05 +03:00
9eefd522b7 bump flutter version on production github action. 2025-04-15 16:25:00 +03:00
4989a0e95c removed the use of Flexible that was causing an exception. 2025-04-15 16:24:46 +03:00
3c6b9f9ef4 Merge branch 'dev' of https://github.com/SyncrowIOT/web into dev 2025-04-15 16:12:03 +03:00
86b8771694 bump-v of web deployment action. 2025-04-15 16:12:01 +03:00
ea1d3d18c8 Merge pull request #143 from SyncrowIOT/SP-1189-Rework-Add-Button-Not-clickable-Opening-Pop-up-in-Community-Screen
Sp 1189 rework add button not clickable opening pop up in community screen
2025-04-15 15:55:36 +03:00
9044645f95 remove screenWidth parameter from TagChipDisplay and use context.screenWidth instead. 2025-04-15 15:45:47 +03:00
7699453e6d moved styling of _buildChip up, and removed unnecessary SizedBox. 2025-04-15 15:43:50 +03:00
d1a21be983 removed else from TagChipDisplay.build 2025-04-15 15:35:24 +03:00
db8e5a4aa6 Refactor TagChipDisplay._groupedTags to enhance readabaility. 2025-04-15 15:32:31 +03:00
fa5bb350c3 refactor: replace spaceNameController with spaceName in TagChipDisplay. 2025-04-15 15:29:25 +03:00
920827d763 Removed unnecessary SizedBox from TagChipDisplay. 2025-04-15 15:28:12 +03:00
d3902d622e Moved constructor to be the first element in TagChipDisplay. 2025-04-15 15:27:45 +03:00
a4432656ab refactor: extract EditChip into a private method for improved readability 2025-04-15 15:27:04 +03:00
90e0d2f52b Extracted Chip into a private method. 2025-04-15 15:24:36 +03:00
08e5e17910 Extracted Add Devices button into a private method. 2025-04-15 15:23:36 +03:00
f57348e5cd converted to using expressions wherever possible in TagChipDisplay. 2025-04-15 15:13:47 +03:00
be168aed93 refactor: simplify tag checking logic to enhance readability. 2025-04-15 15:08:30 +03:00
a66784473f Replaced conditional with an if statement in TagChipDisplay. 2025-04-15 15:06:01 +03:00
c0a963ded5 refactor: use context extension for text theme. 2025-04-15 15:05:31 +03:00
7945cefe53 added trailing commas wherever necessary. 2025-04-15 15:05:06 +03:00
7d0e50fb1d removed unnecessary comments. 2025-04-15 15:03:27 +03:00
117f6190dd removed unnecessary BuildContext from TagChipDisplay constructor, sorted its properies, and converted to using super.key. 2025-04-15 15:02:58 +03:00
748c67fd8b SP-1333 2025-04-15 14:52:20 +03:00
1bfab8cc76 SP-1189-Fix tapping ok and nothing happening bug by taking the action out of the widget. 2025-04-15 14:38:06 +03:00
7dcaa20da1 Enhanced the code and look of DialogFooter buttons. 2025-04-15 13:06:30 +03:00
616adccfdd Applied the correct scenario of tapping add community icon button. 2025-04-15 12:58:20 +03:00
abf6555485 Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1278-FE-Allow-Simple-Edit-Delete 2025-04-15 12:03:25 +03:00
be0533645e Refactor dialog header text assignment in CeilingSensorDialog for clarity and readability. 2025-04-15 11:20:15 +03:00
254e03e3c7 Add mapping for 'sports_para' in slider range function 2025-04-15 11:19:58 +03:00
db1f29e2b2 Merged with dev 2025-04-15 11:18:43 +03:00
dba89027e3 Updated the if statement for the tag and the location 2025-04-15 11:09:48 +03:00
6bea4c2f4a Add mappings for moving_range and presence_range in slider helpers 2025-04-15 10:34:05 +03:00
e2ec986bb9 Refactor mappable stepped functions to a static constant for improved readability and maintainability 2025-04-15 10:03:47 +03:00
ceb1e1d23a Remove TODO comments. 2025-04-15 10:03:37 +03:00
ee12980b47 Fix value parsing in CpsDialogSliderSelector to ensure two decimal precision 2025-04-15 10:03:21 +03:00
4849bb41ba Added function to single card, included tag and location to cards 2025-04-15 02:13:00 +03:00
ebcd89d2a5 Refactor ceiling sensor functions and update slider helper mappings for improved value handling 2025-04-14 16:24:50 +03:00
a7bdbfe3ec Merge pull request #141 from SyncrowIOT/fix-timer-toggle-issue
Refactor AC device controls and toggle widget
2025-04-14 16:06:37 +03:00
db84a9aa5e fix a logic 2025-04-14 16:03:34 +03:00
1493e35f6a removed unused method. 2025-04-14 14:35:24 +03:00
f19cc616be moved CpsSliderHelpers to its own file. 2025-04-14 14:32:49 +03:00
06383018b9 refactored helpers into a helper class to release some complexity out of the widget. 2025-04-14 14:32:22 +03:00
9e3a78f6b7 Update dialog header to reflect sensor condition type dynamically 2025-04-14 12:10:42 +03:00
a27b2e758c Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1278-FE-Allow-Simple-Edit-Delete 2025-04-14 12:06:42 +03:00
1023170788 Sort communities in create new routine dropdown. 2025-04-14 11:25:36 +03:00
9a2687d4c5 added some comments for clarity about how we should send the data to BE. 2025-04-14 11:13:27 +03:00
140f4ff5e2 Refactor AC device controls and toggle widget 2025-04-14 09:57:25 +03:00
cbaeecc968 Merge pull request #139 from SyncrowIOT/SP-1189-FE-Add-Button-Not-clickable-Opening-Pop-up-in-Community-Screen
Sp 1189 fe add button not clickable opening pop up in community screen
2025-04-13 16:22:37 +03:00
2a95720cb0 Merge pull request #140 from SyncrowIOT/SP-1345-FE-SOS-Button-UI-Issue
Refactor SosDeviceControlsView
2025-04-13 16:20:55 +03:00
4fae2d6be0 Refactor SosDeviceControlsView 2025-04-13 16:19:16 +03:00
5b84076572 Merge pull request #138 from SyncrowIOT/SP-1192-FE-Implement-the-schedule-on-the-web-for-the-AC-device
Sp 1192 fe implement the schedule on the web for the ac device
2025-04-13 15:02:02 +03:00
9bf37243a6 remove unused code and make a limitation for the nobody time picker 2025-04-13 14:55:55 +03:00
acad0e8c9c SP-1189-FE-Add-Button-Not-clickable-Opening-Pop-up-in-Community-Screen 2025-04-13 14:50:07 +03:00
79f5ef7871 simplify space selection logic. 2025-04-13 13:12:48 +03:00
6493f02bcc simplify if statements readabaility. 2025-04-13 13:08:23 +03:00
c7c8898763 removed redundant code. 2025-04-13 12:52:38 +03:00
62ee9a72d6 moved SidebarHeader and SidebarAddCommunityButton to their own files. 2025-04-13 12:47:05 +03:00
55695ca5db refactor: improve readability and structure in SidebarWidget's space tile handling 2025-04-13 12:33:50 +03:00
c2f5a8df10 refactor: streamline context usage and improve readability in SidebarWidget 2025-04-13 12:31:17 +03:00
cd9821679e added trailing commas. 2025-04-13 12:29:38 +03:00
bfd3d4542e refactor: simplify onSearchChanged callback to use expressions. 2025-04-13 12:28:50 +03:00
35a99ccda7 removed unnecessary comments from SidebarWidget. 2025-04-13 12:27:04 +03:00
978934399e fixed invalid use of a private type in a public API in SidebarWidget. 2025-04-13 12:25:28 +03:00
bc32fe7941 removed unused method and its use. 2025-04-13 12:25:03 +03:00
cb6d50d367 remove unnecessary print statement 2025-04-13 12:21:35 +03:00
97eb1c152b Implement a countdown timer for the AC and fix bugs in the 'Forgot Password' 2025-04-13 12:18:56 +03:00
11feaf7c87 passed correct operation name to onSliderChanged and onConditionChanged. in CpsDialogSliderSelector`. 2025-04-13 11:10:51 +03:00
36e88d033b Refactor SliderValueSelector layout for improved readability and maintainability 2025-04-13 10:56:19 +03:00
c54fd780b7 Update sensitivity function to adjust max value and add image assets; modify dialog logic for sensitivity handling 2025-04-13 10:43:17 +03:00
fa8f29ff71 Add sensitivity feature. 2025-04-13 10:41:23 +03:00
dcbca64814 Fix spacing in ValueDisplay text output for improved readability 2025-04-13 10:16:20 +03:00
c62e8b3f15 Update _displayText method to format values with two decimal places for improved precision 2025-04-13 10:14:35 +03:00
60a1a9ad6f Add dividendOfRange parameter to FunctionSlider and related components for improved range handling 2025-04-13 10:09:39 +03:00
828db5d5e4 Refactor CpsDialogSliderSelector to improve value parsing and formatting in _displayText method 2025-04-13 09:57:45 +03:00
ebbecb9738 Update toggleCodes in CeilingSensorHelper to replace 'self_test_result' and 'movement' with 'checking_result' and 'body_movement' for improved clarity. 2025-04-13 09:18:09 +03:00
49439816d5 Update SliderValueSelector to improve text styling for unit and range labels 2025-04-10 16:43:33 +03:00
a5d26d04eb Remove unused variables from CeilingSensorDialog to streamline state management 2025-04-10 16:35:19 +03:00
74046c5aed Refactor SliderValueSelector and ValueDisplay to include unit handling and improve UI consistency across sensor dialogs. 2025-04-10 16:22:02 +03:00
fadb23d631 Refactor SliderValueSelector layout by removing unnecessary SizedBox and adjusting spacing for improved UI consistency. 2025-04-10 15:26:36 +03:00
cf103d5a7c Add CpsDialogSliderSelector for enhanced slider functionality and integrate with CeilingSensorDialog 2025-04-10 15:25:29 +03:00
551779c33a moved widgets to their own files. 2025-04-10 14:41:58 +03:00
9d3b58deeb Refactor wall presence sensor components and add new widgets for improved functionality and clarity to ensure reusability in the future for other devices. 2025-04-10 14:32:09 +03:00
9ca6fb8640 Remove unnecessary extension methods for operational value codes in CPS functions 2025-04-10 14:03:44 +03:00
796409600e Update operation codes for CpsPresenceJudgementThresholdFunction and CpsMotionAmplitudeTriggerThresholdFunction. 2025-04-10 14:03:08 +03:00
75b2f96428 added spaces in operational value descriptions to match figma design. 2025-04-10 11:27:02 +03:00
7c68b90aef Refactor CPS functions to implement operational value generation with min, max, and step parameters. 2025-04-10 10:59:43 +03:00
729080ec4e Refactor CPS function codes to use helper methods for consistency and clarity 2025-04-10 10:11:12 +03:00
627ff4e929 Update operation codes and values for various CPS functions. 2025-04-09 17:00:21 +03:00
6d612398ed Update operation names in CpsFunctions and add toggle codes to CeilingSensorHelper 2025-04-09 16:41:03 +03:00
3f565788d5 Refactor CeilingSensorDialog to be a StatefulWidget. 2025-04-09 15:42:22 +03:00
120ed85d10 Add CPS case to device function switch for ceiling sensor integration 2025-04-09 15:41:28 +03:00
c1d9846899 Enhance CeilingSensorHelper: Add deviceName and deviceId parameters to sensor functions 2025-04-09 15:41:21 +03:00
cd9ed5861a Implemented some operations for the cps feature. 2025-04-09 15:40:44 +03:00
c0662bb19e Added assets. 2025-04-09 15:23:56 +03:00
5b29228738 Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1275-FE-Identify-Add-Ceiling-Sensor-Card-to-IF-THEN-Sections 2025-04-09 13:21:43 +03:00
c23176706f Merge pull request #136 from SyncrowIOT/SP-1367-FE-Save-Flow-edit-or-delete-the-device-functions
Implementing the Ceiling Sensor in Routine WEB
2025-04-09 13:19:53 +03:00
4ea91b9333 SP-1276/ Show Configuration Pop-up on Drop. 2025-04-09 13:16:36 +03:00
6c691d4b3c displays ceiling sensor in routine 2025-04-09 12:46:43 +03:00
387ef99728 fix: handle nullable uuid in GatewayModel.fromJson 2025-04-09 12:33:20 +03:00
694a5a7dda Refactor GatewayModel.fromJson to use a loop for status parsing instead of firstWhere. 2025-04-09 12:32:44 +03:00
c90b9a1912 bugfix/ range index errorof automations in routines. 2025-04-09 12:24:59 +03:00
7860292276 Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1367-FE-Save-Flow-edit-or-delete-the-device-functions 2025-04-09 12:19:53 +03:00
550acc4953 Merge pull request #137 from SyncrowIOT/fix-remove-option-from-then-dialog-routins
add dialogType to devices and add parameter in showSwitchFunctionsDialog
2025-04-09 12:18:33 +03:00
fd6b737556 Refactor one_gang_switch_dialog.dart to use one_gang_switch instead of ac in function names and variables 2025-04-09 12:17:26 +03:00
3d5825adca Merge branch 'SP-1366-FE-Add-Gateway-Device-Card-to-Devices-Section' of https://github.com/SyncrowIOT/web into SP-1367-FE-Save-Flow-edit-or-delete-the-device-functions 2025-04-09 11:21:20 +03:00
9c97e2879a Refactor constructor syntax for Gateway functions to use initializer list 2025-04-09 10:57:22 +03:00
fda96025e9 uncommented code. 2025-04-09 10:41:38 +03:00
92aa574944 update GatewayMasterState.getOperationalValues to match what the api expects. 2025-04-09 10:21:49 +03:00
d08ab8caac add dialogType to devices and add parameter in showSwitchFunctionsDialog 2025-04-09 10:09:56 +03:00
774f21a55b Refactor RoutineDevices to consolidate device data preparation in a single map to remove code duplication. 2025-04-09 09:59:15 +03:00
9b69ec31e9 Refactor RoutineDevices to use a class-level constant for allowed product types. 2025-04-09 09:57:18 +03:00
a242377ea6 Fully refactored CreateRoutine/Gateway feature. 2025-04-09 09:46:45 +03:00
3a0c8edf86 SP-1365/ Gateway Functions Popup (for “Then” section). 2025-04-08 16:42:31 +03:00
970f7ed16f SP-1365 2025-04-08 16:42:12 +03:00
006bd4c8ae SP-1364/ Gateway Conditions Popup (for “If” section) 2025-04-08 16:20:22 +03:00
b6752683fd Add Gateway dialog and functions integration 2025-04-08 15:08:53 +03:00
b0846b2fef Add Gateway operational value classes and implementations 2025-04-08 15:08:33 +03:00
8a244dcd23 Created GatewayModel. 2025-04-08 15:08:15 +03:00
9d4395e204 Added gateway product type to IfContainer. 2025-04-08 15:08:01 +03:00
46f318734a Add SVG icons for active bell and gear 2025-04-08 15:06:17 +03:00
7accf1d4c8 SP-1366- Add Gateway Device Card to Devices Section. 2025-04-08 13:07:53 +03:00
c2476b9719 Merge pull request #132 from SyncrowIOT/fix_routine_popup_and_wall_sensor_bugs
Fix routine popup and wall sensor bugs
2025-04-07 16:43:48 +03:00
a56f4e488e Refactor routine_view_card.dart to adjust the size of the CircularProgressIndicator
Fix routine popup
Update wall_presence_sensor.dart to handle null selectedOperationName
2025-04-07 16:42:44 +03:00
6bd9fb7e4e Refactor routine_view_card.dart to adjust the size o 2025-04-07 16:22:21 +03:00
d264409d29 - Refactor the WpsFunctions class in wps_functions.dart to use 'cm' instead of 'temp' for the description of operational values.
- Update the WallPresenceSensor class in wall_presence_sensor.dart to use the selected operation name
2025-04-07 14:27:36 +03:00
ca44f3bf55 fix routine popup 2025-04-07 12:53:12 +03:00
9949a0a0bf Merge pull request #131 from SyncrowIOT/SP-1281-FE-Save-Display-Configured-Sensor-as-a-Card
save presence state and edit selected value
2025-04-07 09:30:38 +03:00
8dc4081a89 save presence state and edit selected value 2025-04-06 16:38:34 +03:00
52498f4e6b Merge pull request #130 from SyncrowIOT/routine_ui_issue
Refactor SVG icons and update asset paths and fix RoutinesView issues
2025-04-06 16:33:49 +03:00
37440f288c Merge branch 'dev' into routine_ui_issue 2025-04-06 16:27:34 +03:00
973ae82bec Merge pull request #125 from SyncrowIOT/SP-1271-rework
SP-1271-rework
2025-04-06 11:59:46 +03:00
8c4dec4483 Merge pull request #129 from SyncrowIOT/SP-1279
add WallPresenceSensor and add new icons for presence state and selec…
2025-04-06 11:57:54 +03:00
ad922577da Refactor SVG icons and update asset paths and fix RoutinesView issues 2025-04-06 11:28:59 +03:00
49c743befb remove debug print statements 2025-04-06 10:04:36 +03:00
4fc259491e add WallPresenceSensor and add new icons for presence state and selected value 2025-04-06 09:57:12 +03:00
64f61a6c3d Merged with dev 2025-04-06 01:17:30 +03:00
ab3f268f29 Added pagination and search logic in space tree 2025-04-06 01:14:16 +03:00
b345822366 Merge pull request #128 from SyncrowIOT:SP-1200
fixing duplicate issue
2025-04-03 10:50:31 +04:00
76793a3c0b Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1200 2025-04-03 10:48:56 +04:00
c330f11206 Merge pull request #127 from SyncrowIOT/SP-1246
updated endpoints for devices
2025-04-03 10:23:34 +04:00
9cb62795a6 Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1246 2025-04-03 10:17:06 +04:00
a034202d76 updated endpoints 2025-04-03 10:14:24 +04:00
869799f08e Merge pull request #126 from SyncrowIOT/fix_routine_popup
Refactor routine creation UI for improved code organization
2025-03-27 15:06:38 +03:00
573e7b42ed Refactor routine creation UI for improved code organization 2025-03-27 15:04:33 +03:00
22935f7007 SP-1271-rework 2025-03-27 14:52:26 +03:00
5bf5120883 Merge pull request #124 from SyncrowIOT/SP-1271-Fix-Deployment
SP-1271-Fix-Deployment
2025-03-27 13:45:59 +03:00
f307aaff9d Removed the usage of spacing property because the GitHub action doesnt support the version that has it, so instead opted for using Padding. 2025-03-27 11:08:57 +03:00
aea18fb293 Merge pull request #123 from SyncrowIOT/SP-1271-FE-Remove-Community-Field-from-Device-Management-Screen
Sp 1271 fe remove community field from device management screen
2025-03-26 12:57:16 +03:00
835dfe8785 Rename controller variables in DeviceSearchFilters to be private to control access control. 2025-03-26 12:40:25 +03:00
f670ae78aa Refactor device search filters layout for improved code organization and to remove any code duplication. 2025-03-26 12:39:51 +03:00
d3128a9c9c Refactor search button callback for improved readability 2025-03-26 12:37:03 +03:00
b65f172f9d Removed memory leak bug from DeviceSearchFilters widget. 2025-03-26 12:36:26 +03:00
dad18b77de Removed community filter field from DeviceSearchFilters. 2025-03-26 12:35:04 +03:00
77a9aa2f19 Added include spaces to the communites api 2025-03-26 04:29:33 +03:00
b77dc860cb Merge pull request #122 from SyncrowIOT/SP-1106
Sp 1106
2025-03-24 15:34:05 +03:00
6045158432 Reset Selected space 2025-03-24 15:32:02 +03:00
7e06dd76cf create routine dialog flow 2025-03-24 13:57:53 +03:00
7e1c2ba712 routines and automation Toggle 2025-03-21 17:14:05 +03:00
80c43b8046 Merge pull request #121 from SyncrowIOT:bugfix/fix-subspace-update
fixed issue in subspace update
2025-03-19 21:49:51 +04:00
2d3345c1d9 fixed issue in subspace updatw 2025-03-19 21:48:44 +04:00
de5030d9f0 Merge branch 'dev' into SP-1200 2025-03-19 14:12:13 +04:00
c0d53fdf5c Update Automation Status 2025-03-19 12:24:55 +03:00
8c15fffd42 duplicate 2025-03-19 12:25:37 +04:00
5e05b20f68 Merge pull request #118 from SyncrowIOT/SP-1318
Sp 1318
2025-03-17 09:34:16 +04:00
95730cc2ba Merge pull request #119 from SyncrowIOT/SP-1327
append space id to list
2025-03-17 09:33:28 +04:00
3750fa8329 removed left and right button 2025-03-14 15:02:22 +04:00
a5a37f3841 append space id to list 2025-03-14 14:10:03 +04:00
e0486deecb changed endpoint for automation update 2025-03-14 12:16:32 +04:00
bc64efa557 updated delete automation endpoint 2025-03-14 12:12:15 +04:00
2a065efc0e replaced endpoint for get automaiton by id 2025-03-14 12:09:14 +04:00
7ae3e4a933 updated endpoint for creating automations 2025-03-14 11:54:47 +04:00
2a0f6a4596 updated endpoint of get automation by space 2025-03-14 11:50:18 +04:00
5b2822f973 Merge pull request #117 from SyncrowIOT/SP-1318
Sp 1318
2025-03-13 14:51:54 +04:00
70d31f5351 removed print 2025-03-13 14:51:09 +04:00
c39c693755 remove unused import 2025-03-13 14:37:39 +04:00
8ed6980264 resposnive text length of space model name 2025-03-13 13:51:52 +04:00
16df75eb49 fixed space update 2025-03-13 13:14:31 +04:00
80c294f09c fix real time listenToChanges 2025-03-12 16:03:01 +03:00
c806b5f59d Added a background color for the space tree 2025-03-11 23:54:39 +03:00
dd01a7fddb Pulled latest changes 2025-03-11 23:42:42 +03:00
b563cc378e Added current temp to AC functions 2025-03-11 23:41:21 +03:00
2140b7eee3 Merge pull request #114 from SyncrowIOT:bugfix/update-space
update space with a space model
2025-03-11 22:08:06 +04:00
7de9e25ed5 Merge branch 'dev' of https://github.com/SyncrowIOT/web into bugfix/update-space 2025-03-11 22:07:50 +04:00
123949aa86 update space with a space model 2025-03-11 22:05:36 +04:00
6d554c5953 Merge pull request #113 from SyncrowIOT/bugfix/remove-link
fixed issue in removing link
2025-03-10 16:55:02 +04:00
5ed87a5794 fixed issue in removing link 2025-03-10 11:47:00 +04:00
168c997240 Merge pull request #112 from SyncrowIOT:bugfix/empty-space-model
fixed issue in update
2025-03-09 17:32:38 +04:00
de65f79ccf Merge branch 'dev' of https://github.com/SyncrowIOT/web into bugfix/empty-space-model 2025-03-09 17:32:06 +04:00
eb0490fb16 fixed issue in update 2025-03-09 17:31:36 +04:00
a73fc04712 Merge pull request #110 from SyncrowIOT/SP-1297
fix model and SpaceModelCardWidget and LinkSpaceModelSpacesDialog
2025-03-09 16:11:18 +03:00
dee07ebb06 fix LinkingSuccessful 2025-03-09 16:01:04 +03:00
5237f3ae5b Merge pull request #111 from SyncrowIOT/bugfix/empty-space-model
fix the circular progress on empty space model
2025-03-09 16:49:36 +04:00
e017633b9b fixed space model 2025-03-09 16:48:42 +04:00
e8e5e9bcb7 fix LoadedSpaceView 2025-03-09 14:54:13 +03:00
a1d15c9cea fix the circular progress on empty space model 2025-03-09 15:53:55 +04:00
16c006e7a9 Merge pull request #109 from SyncrowIOT/feat/fix-update-on-community-tree
Feat/fix-update-on-community-tree
2025-03-09 14:06:48 +04:00
24280549ec revert back color change 2025-03-09 14:06:33 +04:00
8359642a1a Merge branch 'dev' into SP-1297 2025-03-09 12:03:34 +03:00
ada19a5992 fetch communities and spaces on space model update 2025-03-09 10:47:09 +04:00
c6702d4d5f Merge branch 'dev' of https://github.com/SyncrowIOT/web into dev 2025-03-09 10:29:05 +04:00
f78e2e2d36 Merge branch 'feat/update-space-model' of https://github.com/SyncrowIOT/web into dev 2025-03-09 10:26:34 +04:00
83b9555920 added padding to space tree on community structure 2025-03-09 10:26:30 +04:00
8af24e575c fix model and SpaceModelCardWidget and LinkSpaceModelSpacesDialog 2025-03-08 09:57:35 +03:00
4301d7f62f Merge pull request #108 from SyncrowIOT/feat/update-space-model
Feat/update space model
2025-03-07 11:20:29 +04:00
788d36541b revert settings.json 2025-03-07 11:19:46 +04:00
44cf1cec69 resolved conflict 2025-03-07 11:18:36 +04:00
acb7ed5192 Merge branch 'dev' of https://github.com/SyncrowIOT/web into feat/update-space-model 2025-03-07 00:30:13 +04:00
1b8a87e942 initcommunity on save space 2025-03-07 00:01:35 +04:00
fa39182386 Merge pull request #106 from SyncrowIOT/link_space_model_spaces
Link space model spaces
2025-03-06 12:54:38 +03:00
54a250ea2f remove unused code 2025-03-06 12:51:30 +03:00
efccac4d19 removed unused widget 2025-03-06 13:29:28 +04:00
096317fce8 Merge branch 'dev' of https://github.com/SyncrowIOT/web into feat/update-space-model 2025-03-06 13:19:53 +04:00
254485235d Merge branch 'dev' into link_space_model_spaces 2025-03-06 12:08:54 +03:00
d624dd767b add tags 2025-03-06 12:52:41 +04:00
add34b327f space model changes 2025-03-06 11:50:47 +03:00
d75ac416eb Merge branch 'dev' into link_space_model_spaces 2025-03-06 11:50:21 +03:00
048a7c0e8f change model name 2025-03-06 11:10:53 +03:00
c8aab320df Merge pull request #107 from SyncrowIOT/SP-1218
Change in space management side panel
2025-03-06 12:02:12 +04:00
9795517a3f Merge branch 'SP-1218' into feat/update-space-model 2025-03-06 12:01:12 +04:00
60bf58d5fd Merge branch 'dev' of https://github.com/SyncrowIOT/web into SP-1218 2025-03-06 11:51:13 +04:00
8d072ee6bb added left padding 2025-03-06 11:48:43 +04:00
de614d40a5 removed unused import 2025-03-06 11:43:18 +04:00
45f6599c40 removed logs 2025-03-06 11:42:28 +04:00
fecab17cbe updated body for update space model 2025-03-06 11:41:36 +04:00
d2ff909bf2 updated tag dialogue selection 2025-03-05 22:24:45 +04:00
5cea8eddb3 added project tags to all dialogs 2025-03-05 21:26:36 +04:00
213ec329c0 passed tags to space model page 2025-03-05 17:16:00 +04:00
c9427b35be added tags 2025-03-05 17:12:02 +04:00
a7995bb2b8 added tag api 2025-03-05 16:59:58 +04:00
20474835dd Merge branch 'dev' of https://github.com/SyncrowIOT/web into feat/update-space-model 2025-03-05 16:42:43 +04:00
5233c1b38e format settings 2025-03-05 16:41:57 +04:00
ec502214f4 Merge pull request #104 from SyncrowIOT/connect_real_time
Connect real time
2025-03-05 15:24:08 +03:00
215dd9cfa4 link space model api integration 2025-03-05 14:37:52 +03:00
dcfbe5282e add dev and prod firebase option 2025-03-05 14:21:07 +03:00
d88ae9ea15 removed tag model and use tag only 2025-03-05 14:19:58 +04:00
64adf516f6 revert back 2025-03-05 12:28:53 +04:00
ef777cfce9 remove unused import 2025-03-05 12:28:16 +04:00
6e90f81760 update space bloc on community and space change 2025-03-05 12:28:00 +04:00
51cfa8d5ae cached space models 2025-03-05 12:21:47 +04:00
4469efe465 cached space model 2025-03-04 20:51:21 +04:00
c7c8e9a519 cached space models 2025-03-04 11:40:06 +04:00
6f2e2e2d4a Check all the devices working with real time 2025-03-02 17:55:26 +03:00
692b05a600 added update in space tree bloc 2025-03-02 14:40:34 +04:00
7607e5f80d reduced no of calls on load 2025-02-28 19:37:50 +04:00
b84513c09d removed checkbox 2025-02-28 11:51:48 +04:00
41605bef6b Merge pull request #102 from SyncrowIOT/sp_1171
Added space tree to the add user dialog
2025-02-27 12:32:53 +03:00
fd24d6bd27 change community and spaces in user manage 2025-02-27 12:29:12 +03:00
fe52726f6e WebAppBar ResponsiveLayout 2025-02-26 12:00:30 +03:00
5ea29efaf5 Merge pull request #103 from SyncrowIOT/SP-1151-FE-Implement-Delete-Action-for-the-Space-Model
Sp 1151 fe implement delete action for the space model
2025-02-26 10:14:06 +04:00
70cb12236b Clear cache on edit dialog and fixed a selection issue 2025-02-26 02:59:17 +03:00
9f75ce817e added space model delete to bloc and api 2025-02-25 21:31:40 +04:00
aa23daa0b4 added DeleteSpaceModelDialog into SpaceModelCardWidget for delete 2025-02-25 21:31:25 +04:00
61f0c3ad2b DeleteSpaceModelDialog into a separate widget 2025-02-25 21:30:27 +04:00
553c77d1e3 Added space tree to the add user dialog 2025-02-25 00:55:44 +03:00
27fef7ddaa Pulled latest changes 2025-02-20 12:55:07 +03:00
010176cc25 Added clear data and cached events in space tree 2025-02-20 12:53:59 +03:00
d08a1d1037 Merge pull request #100 from SyncrowIOT/bugfix/fix-get-all-device-endpoint
fixed device endpoint
2025-02-20 13:33:55 +04:00
e634154fb3 fixed device endpoint 2025-02-20 13:31:31 +04:00
c0f59aba61 Merge pull request #98 from SyncrowIOT:SP-1186-FE-Cursor-Resets-After-Each-Character-When-Creating-a-Tag
fixed text theme of tag list
2025-02-20 11:48:36 +04:00
7ee7681e09 fixed theme 2025-02-20 11:47:58 +04:00
57c5f4752c fixed theme 2025-02-20 11:36:08 +04:00
ad4f2ae382 Merge pull request #96 from SyncrowIOT/SP-1186-FE-Cursor-Resets-After-Each-Character-When-Creating-a-Tag
fixed cursor issue
2025-02-20 11:29:03 +04:00
eafb811d2e fixed cursor issue 2025-02-20 11:26:30 +04:00
2d0dcc41df Merge pull request #93 from SyncrowIOT/bugfix/fix-get-user-endpoint
change endpoint
2025-02-19 17:54:19 +04:00
d89e3fac8e change endpoint 2025-02-19 17:53:20 +04:00
25acd67351 Bug fixes in the side tree 2025-02-19 02:13:14 +03:00
b134823551 SpaceModelSelectedIds 2025-02-18 16:56:10 +03:00
1054970a63 validation LinkSpaceModelSpacesDialog 2025-02-18 16:34:29 +03:00
7cab299a51 Merge branch 'dev1' into link_space_model_spaces 2025-02-18 14:32:47 +03:00
a3c5670fee Merge branch 'dev' into link_space_model_spaces 2025-02-18 13:33:04 +03:00
009ede7d08 overwrite dialog and progress indicator and success dialog 2025-02-18 12:37:00 +03:00
ba44d1d359 firebase configuration and connect device with real-time bd 2025-02-13 14:07:29 +03:00
00a9cb1188 link_space model 2025-02-10 12:38:20 +03:00
315 changed files with 15902 additions and 4207 deletions

View File

@ -25,13 +25,13 @@ jobs:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.22.2' # Specify the Flutter version you want to use
flutter-version: '3.27.3' # Specify the Flutter version you want to use
- name: Install dependencies
run: flutter pub get
- name: Build Flutter Web App
run: flutter build web --release --dart-define=FLAVOR=production
run: flutter build web --web-renderer canvaskit -t lib/main.dart
- name: Build And Deploy
id: builddeploy

View File

@ -25,13 +25,13 @@ jobs:
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: '3.22.2' # Specify the Flutter version you want to use
flutter-version: '3.27.3' # Specify the Flutter version you want to use
- name: Install dependencies
run: flutter pub get
- name: Build Flutter Web App
run: flutter build web --release --dart-define=FLAVOR=development
run: flutter build web --web-renderer canvaskit -t lib/main_dev.dart
- name: Build And Deploy
id: builddeploy

33
.vscode/launch.json vendored
View File

@ -10,11 +10,12 @@
"type": "dart",
"args": [
"--dart-define",
"FLAVOR=development"
"-d",
"chrome",
"--web-port",
"3000",
"-t",
"lib/main_dev.dart",
],
"flutterMode": "debug"
@ -28,11 +29,12 @@
"type": "dart",
"args": [
"--dart-define",
"FLAVOR=staging"
"-d",
"chrome",
"--web-port",
"3000",
"-t",
"lib/main_staging.dart",
],
"flutterMode": "debug"
@ -46,11 +48,12 @@
"type": "dart",
"args": [
"--dart-define",
"FLAVOR=production"
"-d",
"chrome",
"--web-port",
"3000",
"-t",
"lib/main.dart",
],
"flutterMode": "debug"

View File

@ -16,7 +16,12 @@ samples, guidance on mobile development, and a full API reference.
## USEFUL COMMANDS
Run on chrome: flutter run -d chrome --dart-define=FLAVOR='ENV_NAME'
- Building for the Web
- CanvasKit
- `flutter build web --web-renderer canvaskit -t lib/main_dev.dart --output=build/web_dev` - build for DEVELOPMENT.
- `flutter build web --web-renderer canvaskit -t lib/main_staging.dart --output=build/web_stg` - build for STAGING.
- `flutter build web --web-renderer canvaskit -t lib/main.dart --output=build/web` - build for PRODUCTION.
- run command: `flutter run -d chrome --target=lib/main_dev.dart`
Build: flutter build web --release --dart-define=FLAVOR='ENV_NAME'

View File

@ -1,5 +1,9 @@
plugins {
id "com.android.application"
// START: FlutterFire Configuration
id 'com.google.gms.google-services'
id 'com.google.firebase.crashlytics'
// END: FlutterFire Configuration
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
}

View File

@ -0,0 +1,68 @@
{
"project_info": {
"project_number": "427332280600",
"firebase_url": "https://test2-8a3d2-default-rtdb.firebaseio.com",
"project_id": "test2-8a3d2",
"storage_bucket": "test2-8a3d2.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:427332280600:android:550f67441246cb1a0c7e6d",
"android_client_info": {
"package_name": "com.example.syncrow.app"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyA5qOErxdm0zJmoHIB0TixfebYEsNRpwV0"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:427332280600:android:bb6047adeeb80fb00c7e6d",
"android_client_info": {
"package_name": "com.example.syncrow_application"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyA5qOErxdm0zJmoHIB0TixfebYEsNRpwV0"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
},
{
"client_info": {
"mobilesdk_app_id": "1:427332280600:android:2bc36fbe82994a3e0c7e6d",
"android_client_info": {
"package_name": "com.example.syncrow_web"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyA5qOErxdm0zJmoHIB0TixfebYEsNRpwV0"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}

View File

@ -20,6 +20,10 @@ pluginManagement {
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
// START: FlutterFire Configuration
id "com.google.gms.google-services" version "4.3.15" apply false
id "com.google.firebase.crashlytics" version "2.8.1" apply false
// END: FlutterFire Configuration
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
}

View File

@ -0,0 +1,18 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.8326 16.8575C7.55614 16.8575 4.89062 14.192 4.89062 10.9156C4.89062 7.63915 7.55614 4.97363 10.8326 4.97363C14.1091 4.97363 16.7746 7.63915 16.7746 10.9156C16.7746 14.192 14.1091 16.8575 10.8326 16.8575Z" fill="#FFE645"/>
<path d="M10.8333 4.97363C10.8332 4.97363 10.833 4.97363 10.833 4.97363V16.8575H10.8333C14.1098 16.8575 16.7753 14.192 16.7753 10.9156C16.7753 7.63915 14.1098 4.97363 10.8333 4.97363Z" fill="#FFF1B9"/>
<path d="M10.833 21.8334C10.4824 21.8334 10.1982 21.5493 10.1982 21.1986V18.8289C10.1982 18.4784 10.4824 18.1941 10.833 18.1941C11.1836 18.1941 11.4678 18.4784 11.4678 18.8289V21.1986C11.4678 21.5493 11.1836 21.8334 10.833 21.8334Z" fill="#FFE645"/>
<path d="M21.0317 11.6348H18.7461C18.3955 11.6348 18.1113 11.3506 18.1113 11C18.1113 10.6496 18.3955 10.3652 18.7461 10.3652H21.0317C21.3824 10.3652 21.6665 10.6496 21.6665 11C21.6665 11.3506 21.3824 11.6348 21.0317 11.6348Z" fill="#FFCF2C"/>
<path d="M2.92042 11.6348H0.634766C0.284157 11.6348 0 11.3506 0 11C0 10.6496 0.284157 10.3652 0.634766 10.3652H2.92042C3.27103 10.3652 3.55518 10.6496 3.55518 11C3.55518 11.3506 3.27103 11.6348 2.92042 11.6348Z" fill="#FFE645"/>
<path d="M17.7243 7.65695C17.5049 7.65695 17.2915 7.54306 17.174 7.33941C16.9988 7.03591 17.1027 6.64761 17.4064 6.47239L19.3481 5.3513C19.6517 5.17591 20.04 5.28005 20.2152 5.58372C20.3905 5.88721 20.2865 6.27551 19.9828 6.45073L18.0412 7.57182C17.9412 7.62951 17.8321 7.65695 17.7243 7.65695Z" fill="#FFCF2C"/>
<path d="M2.03686 16.7139C1.8175 16.7139 1.60409 16.6 1.48656 16.3963C1.31117 16.0928 1.41531 15.7045 1.71881 15.5293L3.69865 14.3862C4.00231 14.2108 4.39045 14.315 4.56567 14.6186C4.74106 14.9221 4.63708 15.3104 4.33342 15.4856L2.35358 16.6287C2.25373 16.6864 2.14447 16.7139 2.03686 16.7139Z" fill="#FFE645"/>
<path d="M5.76902 20.4051C5.6614 20.4051 5.5523 20.3778 5.4523 20.32C5.14863 20.1448 5.04466 19.7565 5.21988 19.453L6.36279 17.4735C6.53801 17.17 6.92631 17.0658 7.22981 17.2412C7.53347 17.4164 7.63744 17.8047 7.46222 18.1082L6.31931 20.0877C6.20178 20.2914 5.98838 20.4051 5.76902 20.4051Z" fill="#FFE645"/>
<path d="M3.94197 7.65681C3.83419 7.65681 3.72509 7.62937 3.62524 7.57168L1.64557 6.42877C1.34207 6.25355 1.23793 5.86525 1.41332 5.56158C1.58854 5.25809 1.97667 5.15395 2.28033 5.32933L4.26001 6.47224C4.56351 6.64746 4.66748 7.03576 4.49226 7.33926C4.37473 7.54291 4.16132 7.65681 3.94197 7.65681Z" fill="#FFE645"/>
<path d="M19.6649 16.7342C19.5572 16.7342 19.4481 16.7067 19.348 16.6491L17.333 15.4857C17.0295 15.3103 16.9255 14.9221 17.1007 14.6185C17.276 14.315 17.6643 14.2108 17.9678 14.3862L19.9828 15.5496C20.2865 15.7248 20.3905 16.1131 20.2152 16.4166C20.0977 16.6203 19.8843 16.7342 19.6649 16.7342Z" fill="#FFCF2C"/>
<path d="M15.8973 20.4051C15.6778 20.4051 15.4645 20.2913 15.347 20.0877L14.2043 18.1085C14.029 17.8048 14.133 17.4167 14.4367 17.2415C14.7402 17.0661 15.1285 17.1701 15.3037 17.4737L16.4464 19.4529C16.6217 19.7566 16.5177 20.1447 16.214 20.3199C16.114 20.3778 16.0049 20.4051 15.8973 20.4051Z" fill="#FFCF2C"/>
<path d="M10.833 3.72144C10.4824 3.72144 10.1982 3.43728 10.1982 3.08667V0.801514C10.1982 0.450905 10.4824 0.166748 10.833 0.166748C11.1836 0.166748 11.4678 0.450905 11.4678 0.801514V3.08667C11.4678 3.43728 11.1836 3.72144 10.833 3.72144Z" fill="#FFE645"/>
<path d="M14.7534 4.75952C14.6458 4.75952 14.5365 4.73208 14.4367 4.67422C14.133 4.499 14.029 4.11086 14.2043 3.8072L15.3472 1.82786C15.5224 1.5242 15.9105 1.42005 16.2142 1.59544C16.5178 1.77066 16.6218 2.15896 16.4466 2.46262L15.3037 4.44197C15.1862 4.64562 14.9728 4.75952 14.7534 4.75952Z" fill="#FFCF2C"/>
<path d="M6.91292 4.75919C6.69356 4.75919 6.48015 4.64529 6.36262 4.44164L5.21988 2.46262C5.04466 2.15896 5.14863 1.77066 5.4523 1.59544C5.75579 1.42005 6.14409 1.5242 6.31931 1.82786L7.46206 3.80687C7.63728 4.11053 7.5333 4.49867 7.22964 4.67405C7.1298 4.73175 7.02053 4.75919 6.91292 4.75919Z" fill="#FFE645"/>
<path d="M10.8333 18.1941C10.8332 18.1941 10.833 18.1941 10.833 18.1941V21.8334H10.8333C11.1839 21.8334 11.4681 21.5493 11.4681 21.1986V18.8289C11.4681 18.4784 11.1839 18.1941 10.8333 18.1941Z" fill="#FFCF2C"/>
<path d="M10.8333 0.166748C10.8332 0.166748 10.833 0.166748 10.833 0.166748V3.72144H10.8333C11.1839 3.72144 11.4681 3.43728 11.4681 3.08667V0.801514C11.4681 0.450905 11.1839 0.166748 10.8333 0.166748Z" fill="#FFCF2C"/>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1,12 @@
<svg width="16" height="22" viewBox="0 0 16 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.3977 14.7672V18.2386C15.3977 19.0611 14.7285 19.7299 13.906 19.7299H1.49132C0.668788 19.7299 0 19.0611 0 18.2386V14.7672C0 10.522 3.45363 7.06836 7.69885 7.06836H7.73063C11.9615 7.08575 15.3977 10.5326 15.3977 14.7672Z" fill="#FF5B5B"/>
<path d="M15.3975 14.7672V18.2386C15.3975 19.0611 14.7283 19.7299 13.9058 19.7299H7.73047V7.06836C11.9613 7.08575 15.3975 10.5326 15.3975 14.7672Z" fill="#FF193D"/>
<path d="M15.3977 15.5405V18.239C15.3977 19.0615 14.7285 19.7303 13.906 19.7303H1.49132C0.668788 19.7303 0 19.0615 0 18.239V15.5405H15.3977Z" fill="#7C8287"/>
<path d="M15.3977 21.1981C15.3977 21.5492 15.1131 21.8334 14.7624 21.8334H0.635315C0.284205 21.8334 0 21.5492 0 21.1981C0 20.8474 0.284205 20.5627 0.635315 20.5627H14.7623C15.1131 20.5627 15.3977 20.8473 15.3977 21.1981Z" fill="#DCE6EB"/>
<path d="M8.36829 0.802063V4.67286C8.36829 5.02355 8.08366 5.30817 7.73297 5.30817C7.38228 5.30817 7.09766 5.02355 7.09766 4.67286V0.802063C7.09761 0.451377 7.38224 0.166748 7.73297 0.166748C8.0837 0.166748 8.36829 0.451377 8.36829 0.802063Z" fill="#FFB64C"/>
<path d="M2.87856 6.65271C2.67031 6.65271 2.4663 6.55047 2.34472 6.36262L0.357991 3.29471C0.167266 3.00023 0.251393 2.60684 0.545924 2.41612C0.840412 2.22535 1.23376 2.30952 1.42452 2.60405L3.41125 5.67195C3.60198 5.96644 3.51785 6.35983 3.22332 6.55055C3.11659 6.61966 2.99688 6.65271 2.87856 6.65271Z" fill="#FFB64C"/>
<path d="M12.3087 6.6527C12.1903 6.6527 12.0706 6.61965 11.9639 6.55054C11.6694 6.35982 11.5852 5.96643 11.7759 5.67194L13.7627 2.60404C13.9534 2.30947 14.3467 2.22538 14.6413 2.41611C14.9358 2.60683 15.0199 3.00022 14.8292 3.29471L12.8425 6.36261C12.7209 6.55042 12.5169 6.6527 12.3087 6.6527Z" fill="#FF9F00"/>
<path d="M15.3975 21.1981C15.3975 21.5492 15.1129 21.8334 14.7622 21.8334H7.73047V20.5627H14.7622C15.1129 20.5627 15.3975 20.8473 15.3975 21.1981Z" fill="#C8D2DC"/>
<path d="M15.3975 15.5405V18.239C15.3975 19.0615 14.7283 19.7303 13.9058 19.7303H7.73047V15.5405H15.3975Z" fill="#596C76"/>
<path d="M8.36774 0.802063V4.67286C8.36774 5.02355 8.08311 5.30817 7.73242 5.30817V0.166748C8.08311 0.166748 8.36774 0.451377 8.36774 0.802063Z" fill="#FF9F00"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,21 @@
<svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_7572_5102)">
<path d="M11.255 22.5148H11.2389C9.82071 22.5148 8.66699 21.361 8.66699 19.9429V19.3419C8.66699 18.9913 8.95123 18.707 9.30183 18.707H13.1921C13.5427 18.707 13.8269 18.9913 13.8269 19.3419V19.9429C13.8269 21.3611 12.6731 22.5148 11.255 22.5148Z" fill="#FFA81C"/>
<path d="M13.1912 18.707H11.2461V22.5148H11.2542C12.6723 22.5148 13.826 21.361 13.826 19.9429V19.3419C13.826 18.9912 13.5418 18.707 13.1912 18.707Z" fill="#FF9300"/>
<path d="M12.5157 4.81334H9.97762C9.62701 4.81334 9.34277 4.5291 9.34277 4.1785V2.74955C9.34277 1.69974 10.1968 0.845703 11.2466 0.845703C12.2964 0.845703 13.1505 1.69978 13.1505 2.74955V4.1785C13.1505 4.5291 12.8663 4.81334 12.5157 4.81334Z" fill="#FFA81C"/>
<path d="M12.5151 4.81334C12.8657 4.81334 13.1499 4.5291 13.1499 4.1785V2.74955C13.1499 1.69974 12.2959 0.845703 11.2461 0.845703V4.81334H12.5151Z" fill="#FF9300"/>
<path d="M17.9733 19.9777H4.51899C3.96952 19.9777 3.52246 19.5306 3.52246 18.9811V18.0735C3.52246 17.0793 3.88851 16.1245 4.55319 15.3852C5.00799 14.8792 5.25846 14.226 5.25846 13.5457V9.43293C5.25846 6.13133 7.94448 3.44531 11.2461 3.44531C14.5477 3.44531 17.2337 6.13133 17.2337 9.43293V13.5457C17.2337 14.226 17.4842 14.8792 17.939 15.3851C18.6037 16.1245 18.9697 17.0792 18.9697 18.0734V18.9811C18.9698 19.5306 18.5228 19.9777 17.9733 19.9777Z" fill="#FFCF2C"/>
<path d="M17.9732 19.9776C18.5227 19.9776 18.9698 19.5306 18.9698 18.9811V18.0734C18.9698 17.0792 18.6037 16.1245 17.939 15.3851C17.4842 14.8792 17.2337 14.226 17.2337 13.5457V9.43293C17.2337 6.13133 14.5477 3.44531 11.2461 3.44531V19.9776H17.9732Z" fill="#FFC12E"/>
<path d="M3.52246 18.0734V18.9811C3.52246 19.5306 3.96952 19.9776 4.51899 19.9776H17.9732C18.5227 19.9776 18.9698 19.5306 18.9698 18.9811V18.0734C18.9698 17.638 18.8995 17.2102 18.7648 16.8047H3.72747C3.59272 17.2102 3.52246 17.638 3.52246 18.0734Z" fill="#FFF566"/>
<path d="M11.2461 16.8047V19.9776H17.9732C18.5227 19.9776 18.9698 19.5306 18.9698 18.9811V18.0734C18.9698 17.638 18.8995 17.2102 18.7647 16.8047H11.2461V16.8047Z" fill="#FFE645"/>
<path d="M1.04282 7.85721C0.998428 7.85721 0.953397 7.85255 0.908238 7.84278C0.565508 7.7688 0.347673 7.43097 0.421653 7.08824C0.930035 4.73345 2.22744 2.57028 4.07483 0.997187C4.3418 0.769872 4.74247 0.802079 4.96975 1.06897C5.19706 1.33594 5.16494 1.73657 4.89797 1.96388C3.2616 3.35728 2.11262 5.2723 1.66273 7.35619C1.59852 7.65376 1.33536 7.85721 1.04282 7.85721Z" fill="#FF8B6E"/>
<path d="M21.4417 7.85717C21.1491 7.85717 20.886 7.65377 20.8218 7.35619C20.3719 5.2723 19.2229 3.35728 17.5866 1.96393C17.3196 1.73661 17.2875 1.33594 17.5148 1.06901C17.7421 0.80204 18.1427 0.769875 18.4097 0.997233C20.2571 2.57024 21.5545 4.73345 22.0628 7.08825C22.1368 7.43098 21.919 7.7688 21.5763 7.84278C21.5311 7.85247 21.4861 7.85717 21.4417 7.85717Z" fill="#FF674F"/>
<path d="M3.48329 8.6005C3.4444 8.6005 3.40495 8.5969 3.36534 8.58945C3.02075 8.5247 2.79394 8.19284 2.85869 7.84829C3.20714 5.99413 4.18429 4.28141 5.61006 3.02565C5.87314 2.79385 6.27431 2.81937 6.50603 3.08245C6.73779 3.34557 6.71231 3.74671 6.44923 3.97842C5.23495 5.04796 4.40293 6.50556 4.1065 8.08276C4.04919 8.38778 3.78268 8.6005 3.48329 8.6005Z" fill="#FF8B6E"/>
<path d="M19.0004 8.60042C18.701 8.60042 18.4345 8.38771 18.3772 8.08273C18.0808 6.50557 17.2489 5.04793 16.0346 3.97843C15.7715 3.74667 15.7461 3.34554 15.9778 3.08241C16.2095 2.81934 16.6107 2.7939 16.8738 3.02562C18.2995 4.28138 19.2766 5.99405 19.625 7.84817C19.6898 8.19277 19.4629 8.52458 19.1183 8.58933C19.0788 8.59682 19.0393 8.60042 19.0004 8.60042Z" fill="#FF674F"/>
</g>
<defs>
<clipPath id="clip0_7572_5102">
<rect width="21.67" height="21.67" fill="white" transform="translate(0.407227 0.845703)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

28
assets/icons/boundary.svg Normal file
View File

@ -0,0 +1,28 @@
<svg width="22" height="18" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.45051 0.620117H2.66797C2.76403 0.620117 2.84185 0.697982 2.84185 0.794001V16.5102H3.62439V0.794043C3.62439 0.697982 3.54657 0.620117 3.45051 0.620117Z" fill="#9C9C9C"/>
<path d="M19.39 0.620117H18.6074C18.7035 0.620117 18.7813 0.697982 18.7813 0.794001V16.5102H19.5638V0.794043C19.5638 0.697982 19.486 0.620117 19.39 0.620117Z" fill="#9C9C9C"/>
<path d="M2.84259 0.794001C2.84259 0.697982 2.76477 0.620117 2.66871 0.620117H2.2774C2.18134 0.620117 2.10352 0.697982 2.10352 0.794001V16.5102H2.84259V0.794001Z" fill="#ACACAC"/>
<path d="M18.7811 0.794001C18.7811 0.697982 18.7032 0.620117 18.6072 0.620117H18.2159C18.1198 0.620117 18.042 0.697982 18.042 0.794001V16.5102H18.7811V0.794001Z" fill="#ACACAC"/>
<path d="M7.55203 6.30395L11.8047 2.05127H8.21845L3.96582 6.30395H7.55203Z" fill="#FDB441"/>
<path d="M11.4857 6.30395L15.7383 2.05127H11.8035L7.55078 6.30395H11.4857Z" fill="#5A5A5A"/>
<path d="M15.0726 6.30395L19.3253 2.05127H15.739L11.4863 6.30395H15.0726Z" fill="#FDB441"/>
<path d="M4.28295 2.05127H0.378083C0.186003 2.05127 0.0302734 2.207 0.0302734 2.39908V5.95618C0.0302734 6.0522 0.0692057 6.13916 0.132132 6.20209L4.28295 2.05127Z" fill="#FDB441"/>
<path d="M4.28261 2.05127L0.131836 6.20209C0.194762 6.26501 0.281725 6.30395 0.377786 6.30395H3.96485L8.21748 2.05127H4.28261Z" fill="#5A5A5A"/>
<path d="M20.6996 4.61246V2.09067L20.2053 2.05461C20.1904 2.05262 20.1752 2.05127 20.1597 2.05127H19.3259L15.0732 6.30395H19.0081C19.3229 5.98914 20.3693 4.94271 20.6996 4.61246Z" fill="#5A5A5A"/>
<path d="M19.0078 6.30374H20.1596C20.1942 6.30374 20.2276 6.2985 20.2592 6.28906L20.6993 6.22419V4.6123C20.3688 4.94276 19.3225 5.98907 19.0078 6.30374Z" fill="#FDB441"/>
<path d="M21.6207 2.29561C21.6105 2.26294 21.5957 2.23235 21.5769 2.20459C21.5144 2.11208 21.4086 2.05127 21.2886 2.05127C21.2344 2.05127 20.8258 2.05127 20.1582 2.05127C20.3503 2.05127 20.506 2.20696 20.506 2.39908V3.67415V4.8045L21.6364 3.67415V2.39908C21.6364 2.36298 21.6309 2.32828 21.6207 2.29561Z" fill="#444444"/>
<path d="M20.5059 5.9563C20.5059 6.14834 20.3502 6.30407 20.1582 6.30411H21.2885C21.3365 6.30411 21.3823 6.29437 21.4239 6.27677C21.5331 6.23056 21.6134 6.13001 21.6319 6.00911C21.6345 5.99185 21.6363 5.97428 21.6363 5.9563V3.67432L20.506 4.80466V5.9563H20.5059Z" fill="#F6AB31"/>
<path d="M7.55203 11.782L11.8047 7.5293H8.21845L3.96582 11.782H7.55203Z" fill="#FDB441"/>
<path d="M11.4857 11.782L15.7383 7.5293H11.8035L7.55078 11.782H11.4857Z" fill="#5A5A5A"/>
<path d="M15.0726 11.782L19.3253 7.5293H15.739L11.4863 11.782H15.0726Z" fill="#FDB441"/>
<path d="M4.28295 7.5293H0.378083C0.186003 7.5293 0.0302734 7.68503 0.0302734 7.87711V11.4342C0.0302734 11.5302 0.0692057 11.6172 0.132132 11.6801L4.28295 7.5293Z" fill="#FDB441"/>
<path d="M4.28261 7.52934L0.131836 11.6801C0.194762 11.743 0.281725 11.782 0.377786 11.782H3.96485L8.21752 7.5293H4.28261V7.52934Z" fill="#5A5A5A"/>
<path d="M20.6996 10.0905V7.56869L20.2053 7.53264C20.1904 7.53065 20.1752 7.5293 20.1597 7.5293H19.3259L15.0732 11.782H19.0081C19.3229 11.4672 20.3693 10.4207 20.6996 10.0905Z" fill="#5A5A5A"/>
<path d="M19.0078 11.7818H20.1596C20.1942 11.7818 20.2276 11.7766 20.2592 11.7671L20.6993 11.7022V10.0903C20.3688 10.4208 19.3225 11.4671 19.0078 11.7818Z" fill="#FDB441"/>
<path d="M21.6207 7.77364C21.6105 7.74097 21.5957 7.71037 21.5769 7.68261C21.5144 7.59011 21.4086 7.5293 21.2886 7.5293C21.2344 7.5293 20.8258 7.5293 20.1582 7.5293C20.3503 7.5293 20.506 7.68498 20.506 7.87711V9.15218V10.2825L21.6364 9.15218V7.87711C21.6364 7.84105 21.6309 7.80631 21.6207 7.77364Z" fill="#444444"/>
<path d="M20.5059 11.4343C20.5059 11.6264 20.3502 11.7821 20.1582 11.7821H21.2885C21.3365 11.7821 21.3823 11.7724 21.4239 11.7548C21.5331 11.7086 21.6134 11.608 21.6319 11.4871C21.6345 11.4699 21.6363 11.4523 21.6363 11.4343V9.15234L20.506 10.2827V11.4343H20.5059Z" fill="#F6AB31"/>
<path d="M5.46624 15.6406H4.42285C4.5669 15.6406 4.6837 15.7574 4.6837 15.9015V17.1188C4.6837 17.2628 4.5669 17.3796 4.42285 17.3796H5.46624C5.61029 17.3796 5.72708 17.2628 5.72708 17.1188V15.9015C5.72708 15.7574 5.61029 15.6406 5.46624 15.6406Z" fill="#ACACAC"/>
<path d="M21.4057 17.3796C21.5497 17.3796 21.6665 17.2628 21.6665 17.1188V15.9015C21.6665 15.7574 21.5497 15.6406 21.4057 15.6406H20.3623C20.5064 15.6406 20.6232 15.7574 20.6232 15.9015V17.1188C20.6232 17.2628 20.5064 17.3796 20.3623 17.3796H21.4057Z" fill="#ACACAC"/>
<path d="M0.260846 15.6406C0.116797 15.6406 0 15.7574 0 15.9015V17.1188C0 17.2628 0.116797 17.3796 0.260846 17.3796H4.4236C4.56765 17.3796 4.6844 17.2628 4.6844 17.1188V15.9015C4.6844 15.7574 4.5676 15.6406 4.42355 15.6406H0.260846Z" fill="#BFBFBF"/>
<path d="M16.2003 15.6406C16.0563 15.6406 15.9395 15.7574 15.9395 15.9015V17.1188C15.9395 17.2628 16.0563 17.3796 16.2003 17.3796H20.363C20.5071 17.3796 20.6239 17.2628 20.6239 17.1188V15.9015C20.6239 15.7574 20.5071 15.6406 20.363 15.6406H16.2003Z" fill="#BFBFBF"/>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,10 @@
<svg width="20" height="14" viewBox="0 0 20 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.97266 12.0879H17.8775" stroke="#373737" stroke-linecap="round"/>
<path d="M3.97266 11.5879C3.69651 11.5879 3.47266 11.8117 3.47266 12.0879C3.47266 12.364 3.69651 12.5879 3.97266 12.5879V11.5879ZM11.9183 12.5879H12.4183V11.5879H11.9183V12.5879ZM3.97266 12.5879H11.9183V11.5879H3.97266V12.5879Z" fill="#75777F"/>
<path d="M3.99488 8.50684C1.71745 8.50684 0 9.54938 0 10.9319C0 12.3144 1.71745 13.3569 3.99488 13.3569C6.27232 13.3569 7.98976 12.3144 7.98976 10.9319C7.98976 9.54938 6.27236 8.50684 3.99488 8.50684Z" fill="#FFCC03"/>
<path d="M3.99488 8.50684C1.71745 8.50684 0 9.54938 0 10.9319C0 12.3144 1.71745 13.3569 3.99488 13.3569V8.50684Z" fill="#FFE981"/>
<path d="M6.90323 2.27066C6.24679 1.30901 5.15979 0.734863 3.99547 0.734863C2.83114 0.734863 1.74414 1.30897 1.0877 2.27066C0.431304 3.23231 0.292645 4.45382 0.716885 5.53815L2.58009 10.3005C2.80969 10.8874 3.36522 11.2667 3.99547 11.2667C4.62572 11.2667 5.18124 10.8874 5.41084 10.3005L7.27405 5.53811C7.69829 4.45382 7.55963 3.23231 6.90323 2.27066Z" fill="#CC1F2C"/>
<path d="M3.99449 0.734863C2.83013 0.734863 1.74316 1.30897 1.08673 2.27066C0.430327 3.23231 0.291669 4.45382 0.715909 5.53815L2.57911 10.3005C2.80871 10.8874 3.36424 11.2667 3.99449 11.2667V0.734863Z" fill="#F05449"/>
<path d="M19.5562 5.2553C19.0806 4.55855 18.293 4.14258 17.4494 4.14258C16.6058 4.14258 15.8182 4.55855 15.3426 5.2553C14.8671 5.95205 14.7666 6.83704 15.074 7.62267L16.4239 11.0731C16.5903 11.4983 16.9928 11.7731 17.4494 11.7731C17.906 11.7731 18.3086 11.4983 18.4749 11.0731L19.8248 7.62263C20.1322 6.83708 20.0317 5.95205 19.5562 5.2553Z" fill="#CC1F2C"/>
<path d="M17.4494 4.14258C16.6058 4.14258 15.8182 4.55855 15.3426 5.2553C14.8671 5.95205 14.7666 6.83704 15.074 7.62267L16.4239 11.0731C16.5903 11.4983 16.9928 11.7731 17.4494 11.7731V4.14258Z" fill="#F05449"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,22 @@
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.72272 14.6122L6.18327 14.354L2.97852 19.0925H6.55507L6.89972 18.8677V14.7744L6.72272 14.6122Z" fill="#407093"/>
<path d="M6.23049 14.3775L5.01761 13.7969H4.78901L1.35938 18.8679L1.56355 19.0926H3.04156L6.23049 14.3775Z" fill="#365E7D"/>
<path d="M7.54213 18.8677H2.81285C2.59801 18.8677 2.42383 19.0418 2.42383 19.2567V19.7497C2.42383 19.9645 2.59797 20.1386 2.81277 20.1386H7.54213C7.75698 20.1386 7.93116 19.9645 7.93116 19.7497V19.2567C7.93116 19.0418 7.75698 18.8677 7.54213 18.8677Z" fill="#4A80AA"/>
<path d="M2.50507 19.7497V19.2567C2.50507 19.0419 2.67925 18.8677 2.89409 18.8677H0.389022C0.174179 18.8677 0 19.0418 0 19.2567V19.7497C0 19.9645 0.174179 20.1386 0.389022 20.1386H2.89405C2.67921 20.1386 2.50507 19.9645 2.50507 19.7497Z" fill="#407093"/>
<path d="M6.06769 11.5625C5.92211 11.8628 5.83984 12.1995 5.83984 12.5557C5.83984 13.5291 6.44937 14.3595 7.30726 14.688C7.67558 14.5726 8.00285 14.3644 8.26136 14.0903V13.593L6.06769 11.5625Z" fill="#4A80AA"/>
<path d="M5.88003 12.5635C5.88003 12.2155 5.9605 11.8866 6.10296 11.5934L5.40175 10.9443H5.11722C4.68695 11.3502 4.41797 11.9253 4.41797 12.5635C4.41797 13.7929 5.41461 14.7896 6.64406 14.7896C6.90015 14.7896 7.14573 14.7456 7.37464 14.666C6.50464 14.3633 5.88003 13.5366 5.88003 12.5635Z" fill="#407093"/>
<path d="M18.8025 0.40287C18.4502 0.0506057 17.8791 0.0506057 17.5268 0.40287L16.666 1.26369V1.37279L17.7404 2.49283L17.9416 2.53931L18.8024 1.67849C19.1547 1.32627 19.1547 0.755135 18.8025 0.40287Z" fill="#FFD086"/>
<path d="M19.0404 0.82865C19.0028 0.672713 18.9242 0.524628 18.8025 0.40287C18.4502 0.0506057 17.8791 0.0506057 17.5268 0.40287L16.666 1.26369V1.37279L17.2357 1.96662C17.5753 1.61322 17.9125 1.26447 18.0859 1.09107C18.3749 0.802049 18.7971 0.799822 19.0404 0.82865Z" fill="#FFC365"/>
<path d="M15.8571 2.69561C15.8473 2.69561 15.8373 2.6951 15.8272 2.69413L5.87968 1.71499C5.71378 1.69866 5.59257 1.55097 5.6089 1.38507C5.62522 1.21917 5.773 1.09804 5.93882 1.11425L15.8864 2.09335C16.0522 2.10967 16.1735 2.25737 16.1571 2.42327C16.1418 2.57917 16.0105 2.69561 15.8571 2.69561Z" fill="#365E7D"/>
<path d="M8.75675 4.55789C8.62288 4.55789 8.50058 4.46812 8.46503 4.33258C8.42273 4.17133 8.51917 4.00633 8.68038 3.96402L15.7804 2.10172C15.9416 2.0595 16.1066 2.15586 16.1489 2.31711C16.1912 2.47832 16.0948 2.64332 15.9336 2.68563L8.83355 4.54793C8.80784 4.55465 8.78206 4.55789 8.75675 4.55789Z" fill="#407093"/>
<path d="M17.7843 13.6061C17.6308 13.6061 17.4995 13.4895 17.4843 13.3336L16.5112 3.37993C16.495 3.21407 16.6163 3.06641 16.7822 3.05016C16.9481 3.0347 17.0957 3.15532 17.112 3.32122L18.085 13.2749C18.1012 13.4407 17.9799 13.5884 17.814 13.6046C17.804 13.6056 17.7941 13.6061 17.7843 13.6061Z" fill="#365E7D"/>
<path d="M14.9212 10.781C14.8956 10.781 14.8696 10.7777 14.8437 10.7709C14.6825 10.7281 14.5866 10.5629 14.6293 10.4018L16.519 3.27433C16.5617 3.11315 16.7269 3.01733 16.8881 3.05991C17.0492 3.10265 17.1452 3.26788 17.1025 3.42901L15.2127 10.5565C15.1769 10.6917 15.0548 10.781 14.9212 10.781Z" fill="#407093"/>
<path d="M15.8027 2.12842L16.6657 1.26541L17.9412 2.54085L17.0782 3.40386L15.8027 2.12842Z" fill="#FFC365"/>
<path d="M16.4582 2.78031C16.6656 2.56312 16.9895 2.22437 17.3028 1.89867L16.6678 1.26367L15.8047 2.12679L16.4582 2.78031Z" fill="#FFA90F"/>
<path d="M17.2722 3.89628C17.195 3.89628 17.1177 3.86679 17.0588 3.80788L15.399 2.14805C15.2811 2.03016 15.2811 1.8391 15.399 1.72117C15.5168 1.60336 15.7079 1.60336 15.8258 1.72117L17.4857 3.38101C17.6036 3.4989 17.6036 3.68995 17.4857 3.80788C17.4267 3.86683 17.3495 3.89628 17.2722 3.89628Z" fill="#4A80AA"/>
<path d="M17.4668 14.1492L7.36085 3.95557C6.02101 6.98032 5.78835 10.2274 6.7914 13.0274C9.56154 15.5262 13.6996 15.9099 17.5091 14.3392L17.4668 14.1492Z" fill="#B5DCFF"/>
<path d="M7.4139 4.01031L5.09848 1.6748L4.86645 1.6977C3.23512 5.65405 3.71145 9.96509 6.47621 12.7299C6.64367 12.8973 6.81695 13.0562 6.99535 13.207C5.82988 10.4102 6.01929 7.08393 7.4139 4.01031Z" fill="#8BCAFF"/>
<path d="M18.3911 13.4249L8.14156 3.17529C8.0407 3.19084 7.94359 3.2367 7.86594 3.31435L7.42012 3.76021C7.32437 3.85596 7.27676 3.98099 7.27539 4.1065L17.4925 14.3235C17.6444 14.4755 17.8907 14.4755 18.0426 14.3235L18.3912 13.975C18.5431 13.8231 18.5431 13.5768 18.3911 13.4249Z" fill="#DBEDFF"/>
<path d="M7.4351 3.76805L7.87162 3.33153C7.95201 3.25114 8.05354 3.20512 8.1583 3.19266L5.78221 0.816572C5.6303 0.664658 5.38401 0.664658 5.23206 0.816572L4.88347 1.16516C4.73155 1.31708 4.73155 1.56337 4.88347 1.71528L7.29295 4.12477C7.28979 3.99602 7.33686 3.86629 7.4351 3.76805Z" fill="#B5DCFF"/>
<path d="M14.5 10.9887C11.9318 10.9887 9.85 13.0705 9.85 15.6387C9.85 18.2068 11.9318 20.2887 14.5 20.2887C17.0682 20.2887 19.15 18.2068 19.15 15.6387C19.15 13.0705 17.0682 10.9887 14.5 10.9887ZM10.9594 15.6387C10.9594 14.4992 11.4977 13.4855 12.3344 12.8377L15.6926 18.9731C15.3201 19.1064 14.9187 19.1792 14.5 19.1792C12.5446 19.1793 10.9594 17.5941 10.9594 15.6387ZM18.0404 15.6387C18.0404 16.7782 17.5021 17.7919 16.6655 18.4397L13.3073 12.3042C13.6798 12.1709 14.0813 12.0981 14.5 12.0981C16.4554 12.0981 18.0404 13.6833 18.0404 15.6387Z" fill="#FF5A73" stroke="#FF5A73" stroke-width="0.3"/>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -0,0 +1,15 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.37727 0.166504L0 4.54378L17.2893 21.8331L21.6666 17.4557L4.37727 0.166504ZM3.1988 4.37544C2.91985 4.09649 2.91985 3.64426 3.1988 3.3653C3.47775 3.08635 3.92999 3.08635 4.20894 3.3653C4.48789 3.64426 4.48789 4.09649 4.20894 4.37544C3.92999 4.6544 3.47775 4.6544 3.1988 4.37544ZM17.4576 18.6343C17.1787 18.3553 17.1787 17.9031 17.4576 17.6241C17.7366 17.3452 18.1888 17.3452 18.4678 17.6241C18.7467 17.9031 18.7467 18.3553 18.4678 18.6343C18.1889 18.9132 17.7366 18.9132 17.4576 18.6343Z" fill="#98D9D5"/>
<path d="M8.72863 7.2116C8.58915 7.35108 8.58915 7.57717 8.72863 7.71669C8.86811 7.85622 9.0942 7.85617 9.23372 7.71669L10.5806 6.36984L10.0755 5.86475L8.72863 7.2116Z" fill="#6DA8D6"/>
<path d="M5.80871 4.29119C5.66923 4.43067 5.66923 4.65676 5.80871 4.79628C5.94818 4.93581 6.17428 4.93576 6.3138 4.79628L7.66066 3.44943L7.15556 2.94434L5.80871 4.29119Z" fill="#6DA8D6"/>
<path d="M7.26867 5.75164C7.12919 5.89111 7.12919 6.11721 7.26867 6.25673C7.40815 6.39621 7.63424 6.39621 7.77376 6.25673L9.12062 4.90988L8.61552 4.40479L7.26867 5.75164Z" fill="#6DA8D6"/>
<path d="M14.1163 12.5993C13.9768 12.7388 13.9768 12.9649 14.1163 13.1044C14.2558 13.2439 14.4819 13.2439 14.6214 13.1044L15.9683 11.7575L15.4632 11.2524L14.1163 12.5993Z" fill="#6DA8D6"/>
<path d="M18.3841 14.1729L17.0372 15.5197C16.8977 15.6592 16.8977 15.8853 17.0372 16.0248C17.1767 16.1643 17.4028 16.1643 17.5423 16.0248L18.8892 14.6779L18.3841 14.1729Z" fill="#6DA8D6"/>
<path d="M15.5773 14.0597C15.4378 14.1992 15.4378 14.4253 15.5773 14.5648C15.7167 14.7043 15.9428 14.7043 16.0824 14.5648L17.4292 13.218L16.9241 12.7129L15.5773 14.0597Z" fill="#6DA8D6"/>
<path d="M21.25 1.93008L19.9031 0.583181C19.3475 0.0276114 18.4384 0.0276114 17.8828 0.583181L16.1992 2.2668L17.5461 4.28708L19.5664 5.63393L21.25 3.95031C21.8056 3.39479 21.8056 2.48565 21.25 1.93008Z" fill="#F2484B"/>
<path d="M14.9445 3.52148L2.35938 16.1066L3.36728 18.4659L17.3015 5.2051L14.9445 3.52148Z" fill="#6DA8D6"/>
<path d="M16.9637 4.86816L3.36621 18.4656L5.72549 19.4736L18.3106 6.88849L16.9637 4.86816Z" fill="#185F8D"/>
<path d="M0 21.8333L2.38509 20.8512L2.02028 19.8131L0.982092 19.4482L0 21.8333Z" fill="#274B6D"/>
<path d="M5.72586 19.4736C5.64581 19.1756 5.48467 18.8876 5.24353 18.6465C4.81015 18.2131 4.22577 18.0372 3.70329 18.129C3.7951 17.6065 3.6192 17.0222 3.18582 16.5888C2.94468 16.3476 2.65668 16.1865 2.35868 16.1064L2.35639 16.1087L0.981445 19.4478L2.38444 20.8508L5.72353 19.4759L5.72586 19.4736Z" fill="#FFCC75"/>
<path d="M16.1991 2.26718L14.9443 3.52197L18.3115 6.88911L19.5663 5.63431L16.1991 2.26718Z" fill="#F2EBD9"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,6 @@
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 20.0156C15.5228 20.0156 20 15.5385 20 10.0156C20 4.49278 15.5228 0.015625 10 0.015625C4.47715 0.015625 0 4.49278 0 10.0156C0 15.5385 4.47715 20.0156 10 20.0156Z" fill="#FFB54A"/>
<path d="M13.3263 19.4481C16.3853 18.3692 18.762 15.8448 19.636 12.6949L11.4992 4.55811C11.4992 4.55811 8.03387 7.46049 8.17614 8.25693L9.7659 9.82752L9.23356 15.3554L13.3263 19.4481Z" fill="#F9880D"/>
<path d="M11.4996 4.55811V15.3554H9.23398V7.34521L8.17656 8.25693L6.69727 6.54092L8.86055 4.67568L8.99688 4.55811H11.4996Z" fill="#F8FFFB"/>
<path d="M10 4.55811H11.4996V15.3554H10V4.55811Z" fill="#D8D8D8"/>
</svg>

After

Width:  |  Height:  |  Size: 705 B

View File

@ -0,0 +1,7 @@
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 20.0464C15.5228 20.0464 20 15.5692 20 10.0464C20 4.52354 15.5228 0.0463867 10 0.0463867C4.47715 0.0463867 0 4.52354 0 10.0464C0 15.5692 4.47715 20.0464 10 20.0464Z" fill="#424242"/>
<path d="M11.0775 19.9883C15.3757 19.5277 18.8585 16.3439 19.7673 12.1961L13.3194 5.74813C13.3194 5.74813 8.04414 5.60235 6.13867 8.73633L8.9466 11.5514L6.44617 15.3861L11.0775 19.9883Z" fill="#232323"/>
<path d="M14.159 15.3864H6.44613V12.7829L11.3996 9.03281C12.0277 8.55727 11.8763 7.89418 11.815 7.70227C11.7559 7.51742 11.5043 6.91242 10.7484 6.89035C10.7315 6.88988 10.7019 6.88961 10.69 6.88953H9.81414C8.52395 6.88953 8.42371 8.30332 8.42371 8.73664H6.13867C6.13867 6.30367 7.65008 4.60449 9.81414 4.60449L10.7029 4.60453C10.7029 4.60453 10.7776 4.6052 10.8148 4.60625C12.2924 4.64941 13.5392 5.59156 13.9916 7.00645C14.4497 8.43957 13.9737 9.95004 12.7789 10.8546L9.81121 13.1014H14.1591V15.3864H14.159Z" fill="#F8FFFB"/>
<path d="M12.7792 10.8544L10.1514 12.844V9.97785L11.3999 9.0327C12.0279 8.55719 11.8766 7.8941 11.8155 7.70227C11.7564 7.51711 11.5046 6.91234 10.7486 6.89031C10.7317 6.88992 10.7021 6.88953 10.6903 6.88953H10.1514V4.60449H10.7033C10.7033 4.60449 10.7778 4.60527 10.8152 4.60605C12.2926 4.64938 13.5395 5.59137 13.9918 7.00652C14.45 8.43937 13.9741 9.94988 12.7792 10.8544Z" fill="#D8D8D8"/>
<path d="M10.1514 13.1011H14.1593V15.3861H10.1514V13.1011Z" fill="#D8D8D8"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,6 @@
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 20.0771C15.5228 20.0771 20 15.6 20 10.0771C20 4.5543 15.5228 0.0771484 10 0.0771484C4.47715 0.0771484 0 4.5543 0 10.0771C0 15.6 4.47715 20.0771 10 20.0771Z" fill="#07E5CA"/>
<path d="M10.0839 13.4524L8.77727 12.2934L7.35418 14.2613L12.779 19.6856C16.1417 18.7146 18.7756 16.0263 19.6699 12.6317L12.7734 5.73535L6.46289 7.4725L9.23348 10.2371L9.09187 10.8674L11.2682 12.9721C11.2682 12.972 10.5204 13.5331 10.0839 13.4524Z" fill="#00B59B"/>
<path d="M12.7735 5.73498C12.1468 5.03658 11.1001 4.61963 9.97359 4.61963C9.74531 4.61963 9.51633 4.64061 9.29305 4.68197L9.22426 4.69467C8.53879 4.82131 7.91781 5.13639 7.42836 5.60576C6.94879 6.066 6.6284 6.64404 6.5018 7.27736L6.46289 7.47209L8.77723 7.64721L8.8243 7.52557C8.95844 7.17908 9.2818 6.91943 9.66816 6.84799L9.73695 6.83529C10.1734 6.75467 10.6217 6.90189 10.907 7.21986C11.2853 7.64131 11.2475 8.31838 10.8245 8.69842C10.6195 8.88256 9.61078 9.09518 9.27523 9.08119L9.09191 9.07334V10.867L9.27523 10.8592C9.61301 10.845 10.6196 11.0578 10.8245 11.2419C11.2475 11.622 11.2853 12.299 10.907 12.7205C10.6217 13.0385 10.1734 13.1857 9.73691 13.1051L9.6682 13.0924C9.2818 13.0209 8.95844 12.7613 8.8243 12.4148L8.77723 12.2931L6.46289 12.4683L6.5018 12.663C6.62836 13.2963 6.94875 13.8744 7.4284 14.3346C7.91777 14.804 8.53879 15.119 9.22426 15.2457L9.29297 15.2584C9.51633 15.2997 9.74531 15.3207 9.97359 15.3207C11.1001 15.3207 12.1468 14.9038 12.7734 14.2054C13.8294 13.0288 13.7796 11.1994 12.6833 9.97018C13.7796 8.74092 13.8294 6.91158 12.7735 5.73498Z" fill="#F8FFFB"/>
<path d="M12.6836 9.97012C13.7801 11.1994 13.8297 13.0287 12.7738 14.2057C12.152 14.8982 11.1168 15.3143 10 15.3205V13.1264C10.3469 13.1197 10.6797 12.9748 10.9074 12.7205C11.2855 12.299 11.248 11.6221 10.825 11.242C10.7117 11.1404 10.3543 11.0299 10 10.9537V8.98652C10.3543 8.91035 10.7117 8.8002 10.825 8.69863C11.248 8.31855 11.2855 7.6416 10.9074 7.22012C10.6797 6.96582 10.3469 6.8209 10 6.81426V4.62012C11.1168 4.62637 12.152 5.04199 12.7738 5.73496C13.8297 6.91152 13.7801 8.74082 12.6836 9.97012Z" fill="#D8D8D8"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -0,0 +1,6 @@
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10 20.1079C15.5228 20.1079 20 15.6308 20 10.1079C20 4.58506 15.5228 0.10791 10 0.10791C4.47715 0.10791 0 4.58506 0 10.1079C0 15.6308 4.47715 20.1079 10 20.1079Z" fill="#424242"/>
<path d="M19.8765 11.6809L12.9637 4.76807L5.99414 12.7653L12.907 19.6782C16.525 18.5806 19.2749 15.4882 19.8765 11.6809Z" fill="#232323"/>
<path d="M12.9637 10.4997V4.76807H10.0215L5.99414 10.5458V12.7653H10.698V15.4478H12.9637V12.7653H14.4117V10.4997H12.9637ZM10.698 10.4997H8.78789L10.698 7.75986V10.4997Z" fill="#F8FFFB"/>
<path d="M12.9637 10.4997V4.76807H10.0215L10 4.79893V8.76104L10.698 7.75986V10.4997H10V12.7653H10.698V15.4478H12.9637V12.7653H14.4117V10.4997H12.9637Z" fill="#D8D8D8"/>
</svg>

After

Width:  |  Height:  |  Size: 787 B

View File

@ -0,0 +1,17 @@
<svg width="22" height="14" viewBox="0 0 22 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.6663 11.1257L7.02441 8.58667L10.833 13.6648H21.6663V11.1257Z" fill="#FFB54C"/>
<path d="M0 11.1257V13.6648H10.8333V8.58667L0 11.1257Z" fill="#FFCC4A"/>
<path d="M21.6663 11.1257V5.41284H20.0688L19.4341 6.04761L18.7993 5.41284H17.2018L16.5671 6.04761L15.9323 5.41284H14.3348L13.7 6.04761L13.0653 5.41284H11.4678L8.29395 8.26929L10.833 11.1257H21.6663Z" fill="#FFCC4A"/>
<path d="M10.8333 5.41284H10.1986H8.60107L7.96631 6.04761L7.33154 5.41284H5.73405L5.09928 6.04761L4.46452 5.41284H2.86702L2.23226 6.04761L1.59749 5.41284H0V11.1257H10.8333V5.41284Z" fill="#FFE278"/>
<path d="M21.0316 1.60449H10.833L10.1982 2.23926L10.833 2.87402H21.0316V1.60449Z" fill="#ABD5ED"/>
<path d="M10.8333 1.60449H1.26953V0.334961H0V4.14355H1.26953V2.87402H10.8333V1.60449Z" fill="#BFEBFF"/>
<path d="M20.3965 0.334961H21.666V4.14355H20.3965V0.334961Z" fill="#ABD5ED"/>
<path d="M1.59766 5.41284H2.86719V8.58667H1.59766V5.41284Z" fill="#587AA1"/>
<path d="M4.46484 5.41284H5.73438V7.31714H4.46484V5.41284Z" fill="#587AA1"/>
<path d="M7.33203 5.41284H8.60156V8.58667H7.33203V5.41284Z" fill="#587AA1"/>
<path d="M11.4678 7.31714H10.833L10.5156 6.99976V5.73022L10.833 5.41284H11.4678V7.31714Z" fill="#455F80"/>
<path d="M10.1982 5.41284H10.833V7.31714H10.1982V5.41284Z" fill="#587AA1"/>
<path d="M13.0654 5.41284H14.335V8.58667H13.0654V5.41284Z" fill="#455F80"/>
<path d="M15.9326 5.41284H17.2021V7.31714H15.9326V5.41284Z" fill="#455F80"/>
<path d="M18.7998 5.41284H20.0693V8.58667H18.7998V5.41284Z" fill="#455F80"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,21 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_6702_36698)">
<circle cx="20" cy="20" r="15" fill="#F4F4F4"/>
<path d="M26.4 13.1094H23.7333V12.582C23.7333 11.7097 23.0156 11 22.1333 11H17.8667C16.9844 11 16.2667 11.7097 16.2667 12.582V13.1094H13.6C12.7178 13.1094 12 13.8191 12 14.6914C12 15.392 12.4631 15.9873 13.1024 16.1947L14.0537 27.5493C14.1222 28.3628 14.8226 29 15.6481 29H24.3519C25.1775 29 25.8778 28.3628 25.9464 27.5491L26.8976 16.1947C27.5369 15.9873 28 15.392 28 14.6914C28 13.8191 27.2822 13.1094 26.4 13.1094ZM17.3333 12.582C17.3333 12.2913 17.5726 12.0547 17.8667 12.0547H22.1333C22.4274 12.0547 22.6667 12.2913 22.6667 12.582V13.1094H17.3333V12.582ZM24.8833 27.4618C24.8605 27.7329 24.6271 27.9453 24.3519 27.9453H15.6481C15.373 27.9453 15.1395 27.7329 15.1167 27.462L14.1793 16.2734H25.8207L24.8833 27.4618ZM26.4 15.2188H13.6C13.3059 15.2188 13.0667 14.9822 13.0667 14.6914C13.0667 14.4006 13.3059 14.1641 13.6 14.1641H26.4C26.6941 14.1641 26.9333 14.4006 26.9333 14.6914C26.9333 14.9822 26.6941 15.2188 26.4 15.2188Z" fill="#999999"/>
<path d="M17.8656 26.3307L17.3323 17.8229C17.314 17.5322 17.0596 17.3111 16.767 17.3292C16.473 17.3472 16.2494 17.5974 16.2676 17.8881L16.801 26.396C16.8185 26.6756 17.0533 26.8907 17.3328 26.8907C17.6416 26.8907 17.8846 26.6335 17.8656 26.3307Z" fill="#999999"/>
<path d="M20.0001 17.3281C19.7056 17.3281 19.4668 17.5642 19.4668 17.8555V26.3633C19.4668 26.6545 19.7056 26.8906 20.0001 26.8906C20.2947 26.8906 20.5335 26.6545 20.5335 26.3633V17.8555C20.5335 17.5642 20.2947 17.3281 20.0001 17.3281Z" fill="#999999"/>
<path d="M23.233 17.3292C22.9396 17.3111 22.6859 17.5321 22.6677 17.8229L22.1343 26.3307C22.1162 26.6213 22.3397 26.8716 22.6337 26.8896C22.9278 26.9076 23.1808 26.6865 23.199 26.3959L23.7323 17.8881C23.7505 17.5974 23.527 17.3472 23.233 17.3292Z" fill="#999999"/>
</g>
<defs>
<filter id="filter0_d_6702_36698" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6702_36698"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6702_36698" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,6 @@
<svg width="16" height="18" viewBox="0 0 16 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.4 2.10938H11.7333V1.58203C11.7333 0.709699 11.0156 0 10.1333 0H5.86667C4.98443 0 4.26667 0.709699 4.26667 1.58203V2.10938H1.6C0.71776 2.10938 0 2.81907 0 3.69141C0 4.392 0.463111 4.9873 1.1024 5.19472L2.05369 16.5493C2.1222 17.3628 2.82258 18 3.64814 18H12.3519C13.1775 18 13.8778 17.3628 13.9464 16.5491L14.8976 5.19469C15.5369 4.9873 16 4.392 16 3.69141C16 2.81907 15.2822 2.10938 14.4 2.10938ZM5.33333 1.58203C5.33333 1.29125 5.57259 1.05469 5.86667 1.05469H10.1333C10.4274 1.05469 10.6667 1.29125 10.6667 1.58203V2.10938H5.33333V1.58203ZM12.8833 16.4618C12.8605 16.7329 12.6271 16.9453 12.3519 16.9453H3.64814C3.37298 16.9453 3.13952 16.7329 3.11673 16.462L2.17934 5.27344H13.8207L12.8833 16.4618ZM14.4 4.21875H1.6C1.30592 4.21875 1.06667 3.98218 1.06667 3.69141C1.06667 3.40063 1.30592 3.16406 1.6 3.16406H14.4C14.6941 3.16406 14.9333 3.40063 14.9333 3.69141C14.9333 3.98218 14.6941 4.21875 14.4 4.21875Z" fill="#999999"/>
<path d="M5.86561 15.3307L5.33228 6.82286C5.31404 6.53215 5.05957 6.31106 4.76698 6.32916C4.47297 6.3472 4.24943 6.59744 4.26764 6.88811L4.80097 15.396C4.8185 15.6756 5.05331 15.8907 5.33278 15.8907C5.64165 15.8907 5.88456 15.6335 5.86561 15.3307Z" fill="#999999"/>
<path d="M7.99989 6.32812C7.70534 6.32812 7.46655 6.56423 7.46655 6.85547V15.3633C7.46655 15.6545 7.70534 15.8906 7.99989 15.8906C8.29443 15.8906 8.53322 15.6545 8.53322 15.3633V6.85547C8.53322 6.56423 8.29443 6.32812 7.99989 6.32812Z" fill="#999999"/>
<path d="M11.233 6.32915C10.9396 6.31112 10.6859 6.53215 10.6677 6.82285L10.1343 15.3307C10.1162 15.6213 10.3397 15.8716 10.6337 15.8896C10.9278 15.9076 11.1808 15.6865 11.199 15.3959L11.7323 6.8881C11.7505 6.5974 11.527 6.34715 11.233 6.32915Z" fill="#999999"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,4 @@
<svg width="8" height="9" viewBox="0 0 8 9" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.13918 0.5H4.10294C4.0408 0.5 3.98117 0.524721 3.93722 0.568668L0.251783 4.25398C-0.0839278 4.58982 -0.0839278 5.13617 0.251783 5.47188L3.02848 8.24852C3.1906 8.41064 3.40686 8.49994 3.63734 8.5H3.6374C3.86794 8.5 4.0842 8.41064 4.24638 8.24846L7.9317 4.56308C7.97565 4.51914 8.00037 4.4595 8.00037 4.39736L8.00043 1.36113C8.00037 0.886312 7.61399 0.5 7.13918 0.5ZM7.53159 4.30031L3.91488 7.91702C3.84127 7.9907 3.74269 8.03122 3.6374 8.03122C3.53205 8.03122 3.43353 7.9907 3.35992 7.91708L0.583222 5.14045C0.43026 4.98748 0.43026 4.73845 0.583222 4.58542L4.19999 0.968775H7.13918C7.35556 0.968775 7.53165 1.14481 7.53165 1.36119L7.53159 4.30031Z" fill="#999999"/>
<path d="M5.93455 1.8291C5.73782 1.8291 5.55288 1.90577 5.41377 2.04487C5.27466 2.18392 5.19806 2.36886 5.19806 2.56559C5.19806 2.76232 5.27466 2.94726 5.41377 3.08637C5.55288 3.22548 5.73782 3.30208 5.93455 3.30208C6.13121 3.30208 6.31616 3.22548 6.45527 3.08637C6.59437 2.94726 6.67098 2.76232 6.67098 2.56559C6.67098 2.36886 6.59437 2.18392 6.45533 2.04487C6.31622 1.90577 6.13128 1.8291 5.93455 1.8291ZM6.12383 2.75487C6.07329 2.80547 6.00602 2.83331 5.93455 2.83331C5.86301 2.83331 5.79581 2.80547 5.74527 2.75487C5.69467 2.70433 5.66683 2.63707 5.66683 2.56559C5.66683 2.49412 5.69467 2.42685 5.74527 2.37631C5.79581 2.32571 5.86307 2.29788 5.93455 2.29788C6.00602 2.29788 6.07323 2.32571 6.12383 2.37631C6.17443 2.42685 6.20226 2.49412 6.20226 2.56559C6.20226 2.63707 6.17437 2.70433 6.12383 2.75487Z" fill="#999999"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,17 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8194_10048)">
<path d="M11.4732 16.7316C8.31096 16.7316 5.73828 14.1589 5.73828 10.9967C5.73828 7.8344 8.31096 5.26172 11.4732 5.26172C14.6355 5.26172 17.2081 7.8344 17.2081 10.9967C17.2081 14.1589 14.6355 16.7316 11.4732 16.7316Z" fill="#EBF6FF"/>
<path d="M17.2076 10.9967C17.2076 7.8344 14.6349 5.26172 11.4727 5.26172V16.7316C14.6349 16.7316 17.2076 14.1589 17.2076 10.9967Z" fill="#D7E7F8"/>
<path d="M11.4721 17.3699C7.95827 17.3699 5.09961 14.5112 5.09961 10.9974C5.09961 7.48362 7.95827 4.625 11.472 4.625C14.9858 4.625 17.8445 7.48366 17.8445 10.9974C17.8445 14.5112 14.9858 17.3699 11.4721 17.3699ZM11.4721 5.89473C8.6584 5.89473 6.36934 8.18379 6.36934 10.9974C6.36934 13.811 8.6584 16.1001 11.472 16.1001C14.2857 16.1001 16.5748 13.8111 16.5748 10.9974C16.5748 8.18375 14.2857 5.89473 11.4721 5.89473Z" fill="#9FE066"/>
<path d="M11.4728 11.6318H8.28525C7.93464 11.6318 7.65039 11.3475 7.65039 10.9969C7.65039 10.6463 7.93464 10.3621 8.28525 10.3621H10.8379V8.95127C10.8379 8.60066 11.1222 8.31641 11.4728 8.31641C11.8234 8.31641 12.1076 8.60066 12.1076 8.95127V10.9969C12.1077 11.3475 11.8234 11.6318 11.4728 11.6318Z" fill="#394949"/>
<path d="M12.1075 10.9969V8.95127C12.1075 8.60066 11.8233 8.31641 11.4727 8.31641V11.6318C11.8233 11.6318 12.1075 11.3475 12.1075 10.9969Z" fill="#151F1F"/>
<path d="M16.5753 10.9974C16.5753 13.8111 14.2863 16.1001 11.4727 16.1001V17.3698C14.9865 17.3698 17.8451 14.5112 17.8451 10.9974C17.8451 7.48366 14.9864 4.625 11.4727 4.625V5.89473C14.2863 5.89473 16.5753 8.18379 16.5753 10.9974Z" fill="#4ACA7B"/>
<path d="M18.6832 3.78752C16.7572 1.86147 14.1963 0.800781 11.4725 0.800781C8.74869 0.800781 6.18782 1.86147 4.26177 3.78752C2.67775 5.37158 1.67966 7.38516 1.37492 9.56545L1.08378 9.2743C0.835882 9.02641 0.433887 9.02641 0.185951 9.2743C-0.0619838 9.52219 -0.0619838 9.92419 0.185951 10.1721L1.46097 11.4471C1.58494 11.5711 1.74742 11.6331 1.90986 11.6331C2.0723 11.6331 2.23482 11.5711 2.35875 11.4471L3.63377 10.1721C3.8817 9.92423 3.8817 9.52224 3.63377 9.2743C3.38587 9.02641 2.98388 9.02641 2.73594 9.2743L2.70678 9.30346C3.50083 5.18845 7.12907 2.07051 11.4725 2.07051C16.3953 2.07051 20.4003 6.07548 20.4003 10.9983C20.4003 15.921 16.3953 19.926 11.4725 19.926C7.46868 19.926 3.9294 17.234 2.86558 13.3794C2.77234 13.0413 2.42266 12.8429 2.08474 12.9363C1.74674 13.0295 1.54837 13.3792 1.64165 13.7171C2.22378 15.8264 3.50315 17.7286 5.24408 19.0732C7.04184 20.4618 9.19555 21.1957 11.4725 21.1957C14.1963 21.1957 16.7571 20.135 18.6832 18.209C20.6093 16.2829 21.67 13.7221 21.67 10.9983C21.67 8.27439 20.6093 5.71361 18.6832 3.78752Z" fill="#FF4D5B"/>
<path d="M20.4004 10.9983C20.4004 15.9211 16.3955 19.926 11.4727 19.926V21.1958C14.1965 21.1958 16.7573 20.135 18.6834 18.209C20.6095 16.2829 21.6702 13.7221 21.6702 10.9983C21.6702 8.27439 20.6094 5.71361 18.6834 3.78752C16.7573 1.86147 14.1965 0.800781 11.4727 0.800781V2.07051C16.3955 2.07051 20.4004 6.07548 20.4004 10.9983Z" fill="#DE0062"/>
</g>
<defs>
<clipPath id="clip0_8194_10048">
<rect width="21.67" height="21.67" fill="white" transform="translate(0 0.164062)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@ -0,0 +1,11 @@
<svg width="20" height="16" viewBox="0 0 20 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17.7889 10.2691H11.3018C10.7286 10.2691 10.2622 9.80276 10.2622 9.22952V9.14261C10.2622 8.56937 10.7286 8.10301 11.3018 8.10301H17.4112C17.7348 8.10301 17.9971 7.84067 17.9971 7.51708C17.9971 7.19349 17.7348 6.93115 17.4112 6.93115H11.3018C10.0824 6.93115 9.09034 7.92321 9.09034 9.14261V9.22952C9.09034 10.4489 10.0824 11.441 11.3018 11.441H17.7889C18.3621 11.441 18.8285 11.9073 18.8285 12.4806C18.8285 13.0538 18.3621 13.5202 17.7889 13.5202H2.48241C2.15882 13.5202 1.89648 13.7825 1.89648 14.1061C1.89648 14.4297 2.15882 14.692 2.48241 14.692H17.7889C19.0083 14.692 20.0004 13.7 20.0004 12.4806C20.0004 11.2612 19.0083 10.2691 17.7889 10.2691Z" fill="#373737"/>
<path d="M11.3013 11.441H13.7698V10.2691H11.3013C10.7281 10.2691 10.2617 9.80276 10.2617 9.22952V9.14261C10.2617 8.56937 10.7281 8.10301 11.3013 8.10301H13.7698V6.93115H11.3013C10.0819 6.93115 9.08984 7.92321 9.08984 9.14261V9.22952C9.08984 10.4489 10.0819 11.441 11.3013 11.441Z" fill="#75777F"/>
<path d="M13.7693 13.52H2.48144C2.15785 13.52 1.89551 13.7824 1.89551 14.1059C1.89551 14.4295 2.15785 14.6919 2.48144 14.6919H13.7693V13.52Z" fill="#75777F"/>
<path d="M4.02221 10.8325C1.7292 10.8325 0 11.8822 0 13.2742C0 14.6661 1.7292 15.7158 4.02221 15.7158C6.31523 15.7158 8.04443 14.6661 8.04443 13.2742C8.04443 11.8822 6.31527 10.8325 4.02221 10.8325Z" fill="#FFCC03"/>
<path d="M4.02221 10.8325C1.7292 10.8325 0 11.8822 0 13.2742C0 14.6661 1.7292 15.7158 4.02221 15.7158V10.8325Z" fill="#FFE981"/>
<path d="M6.95014 4.55363C6.28921 3.5854 5.19477 3.00732 4.02248 3.00732C2.8502 3.00732 1.75576 3.58536 1.09483 4.55363C0.433937 5.52186 0.29433 6.75173 0.721473 7.84347L2.59742 12.6384C2.82859 13.2293 3.38792 13.6112 4.02248 13.6112C4.65705 13.6112 5.21638 13.2293 5.44754 12.6384L7.3235 7.84343C7.75064 6.75173 7.61103 5.52186 6.95014 4.55363Z" fill="#CC1F2C"/>
<path d="M4.02151 3.00732C2.84918 3.00732 1.75478 3.58536 1.09385 4.55363C0.432961 5.52186 0.293353 6.75173 0.720496 7.84347L2.59645 12.6384C2.82762 13.2293 3.38695 13.6112 4.02151 13.6112V3.00732Z" fill="#F05449"/>
<path d="M19.5529 1.55833C19.074 0.856811 18.2811 0.437988 17.4317 0.437988C16.5823 0.437988 15.7894 0.856811 15.3105 1.55833C14.8317 2.25984 14.7305 3.15088 15.04 3.94189L16.3992 7.41594C16.5667 7.84406 16.972 8.12074 17.4317 8.12074C17.8915 8.12074 18.2967 7.84406 18.4642 7.41594L19.8234 3.94185C20.1328 3.15092 20.0317 2.25984 19.5529 1.55833Z" fill="#CC1F2C"/>
<path d="M17.4317 0.437988C16.5823 0.437988 15.7894 0.856811 15.3105 1.55833C14.8317 2.25984 14.7305 3.15088 15.04 3.94189L16.3992 7.41594C16.5667 7.84406 16.972 8.12074 17.4317 8.12074V0.437988Z" fill="#F05449"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,16 @@
<svg width="22" height="16" viewBox="0 0 22 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.9326 7.99996C12.9326 8.4282 12.8042 8.82647 12.5838 9.15837C12.2083 9.72412 11.5654 9.84106 10.8355 9.84106C9.67727 9.84106 9.05078 9.15816 9.05078 7.99996C9.05078 7.26923 9.11211 6.62577 9.67883 6.25036C10.0104 6.03074 10.408 5.90283 10.8354 5.90283C11.9937 5.90287 12.9326 6.84175 12.9326 7.99996Z" fill="#E5646E"/>
<path d="M11.4252 9.50734C10.267 9.50734 9.32807 8.56846 9.32807 7.41026C9.32807 6.98202 9.45843 6.5824 9.67877 6.25049C9.11302 6.62607 8.73828 7.27012 8.73828 8.00009C8.73828 9.15829 9.67716 10.0972 10.8354 10.0972C11.5653 10.0972 12.2082 9.72425 12.5837 9.15851C12.2519 9.3788 11.8534 9.50734 11.4252 9.50734Z" fill="#DB4655"/>
<path d="M3.66787 0.133789C3.84673 0.133789 4.02559 0.202058 4.16209 0.338597C4.16848 0.344987 4.1747 0.351463 4.18079 0.358023L3.79505 1.32708C2.01269 3.10948 1.03102 5.47931 1.03102 7.99997C1.03102 10.5206 2.01269 12.8905 3.79505 14.6729L4.18101 15.6417C4.17483 15.6483 4.16852 15.6549 4.16209 15.6613C3.88935 15.9344 3.44668 15.9344 3.1736 15.6613C1.12705 13.6149 0 10.8941 0 7.99997C0 5.10588 1.12705 2.38502 3.17364 0.338597C3.31001 0.202058 3.489 0.133789 3.66787 0.133789Z" fill="#FFE6E7"/>
<path d="M7.6231 4.08813C7.80196 4.08813 7.98099 4.1564 8.11732 4.29294C8.1312 4.30682 8.14437 4.32109 8.15681 4.33582L7.68282 5.28138C6.18391 6.78047 6.18391 9.21957 7.68282 10.7187L8.15774 11.6633C8.145 11.6783 8.13154 11.693 8.11732 11.7072C7.84458 11.9803 7.40157 11.9803 7.12884 11.7072C5.08466 9.66318 5.08466 6.33695 7.12884 4.29294C7.26521 4.15636 7.44424 4.08813 7.6231 4.08813Z" fill="#FF9A9F"/>
<path d="M5.64357 2.11108C5.82243 2.11108 6.0013 2.17935 6.13779 2.31589C6.14575 2.32385 6.15345 2.33189 6.16094 2.34014L5.56438 3.30433C2.97545 5.89361 2.97545 10.1066 5.56438 12.6959L6.16145 13.6596C6.15383 13.668 6.14596 13.6762 6.13783 13.6843C5.86476 13.9574 5.42243 13.9574 5.14935 13.6843C2.01532 10.5501 2.01532 5.45005 5.14935 2.31581C5.28585 2.17935 5.46471 2.11108 5.64357 2.11108Z" fill="#FFCCCF"/>
<path d="M6.29102 7.99972C6.29102 9.50473 7.0294 10.836 8.1565 11.6629C8.38886 11.3884 8.37511 10.9772 8.11608 10.7184C6.61717 9.21929 6.61717 6.78019 8.11608 5.28106C8.37511 5.0222 8.38793 4.61001 8.15557 4.33545C7.02852 5.1623 6.29102 6.49471 6.29102 7.99972Z" fill="#FF8086"/>
<path d="M3.49609 7.99983C3.49609 10.2771 4.53592 12.313 6.16362 13.6593C6.413 13.385 6.405 12.9604 6.14001 12.6956C3.55107 10.1064 3.55107 5.89335 6.14001 3.30408C6.405 3.03925 6.41249 2.61411 6.16316 2.33984C4.53541 3.68609 3.49609 5.72253 3.49609 7.99983Z" fill="#FF9A9F"/>
<path d="M0.699219 7.99986C0.699219 11.0495 2.05 13.7834 4.18124 15.6416C4.43535 15.3675 4.42896 14.9393 4.16232 14.6728C2.37992 12.8903 1.39825 10.5205 1.39825 7.99986C1.39825 5.47919 2.37992 3.10937 4.16232 1.32697C4.42896 1.06049 4.43514 0.632002 4.18103 0.35791C2.04979 2.21607 0.699219 4.95022 0.699219 7.99986Z" fill="#FFCCCF"/>
<path d="M18.0014 15.8662C17.8226 15.8662 17.6437 15.7979 17.5072 15.6613C17.5008 15.655 17.4946 15.6485 17.4885 15.6419L17.8742 14.6729C19.6566 12.8905 20.6383 10.5206 20.6383 7.99997C20.6383 5.4793 19.6566 3.10948 17.8742 1.32708L17.4883 0.358277C17.4945 0.351632 17.5008 0.345072 17.5072 0.338596C17.7799 0.06552 18.2226 0.06552 18.4957 0.338596C20.5422 2.38502 21.6693 5.10588 21.6693 7.99997C21.6693 10.8941 20.5422 13.6149 18.4956 15.6613C18.3593 15.7979 18.1803 15.8662 18.0014 15.8662Z" fill="#FFE6E7"/>
<path d="M14.0464 11.912C13.8675 11.912 13.6885 11.8438 13.5521 11.7072C13.5383 11.6933 13.5251 11.6791 13.5127 11.6644L13.9866 10.7187C15.4856 9.21966 15.4856 6.78055 13.9866 5.28143L13.5117 4.33687C13.5245 4.32181 13.5379 4.30716 13.5521 4.29294C13.8249 4.01987 14.2679 4.01987 14.5406 4.29294C16.5848 6.33695 16.5848 9.66318 14.5406 11.7072C14.4043 11.8438 14.2252 11.912 14.0464 11.912Z" fill="#FF9A9F"/>
<path d="M16.0257 13.8892C15.8468 13.8892 15.668 13.8209 15.5315 13.6844C15.5235 13.6764 15.5158 13.6684 15.5083 13.6601L16.1049 12.6959C18.6938 10.1066 18.6938 5.89361 16.1049 3.30433L15.5078 2.34065C15.5154 2.33223 15.5233 2.32398 15.5314 2.31589C15.8045 2.04281 16.2468 2.04281 16.5199 2.31589C19.6539 5.45009 19.6539 10.5502 16.5199 13.6844C16.3834 13.8209 16.2046 13.8892 16.0257 13.8892Z" fill="#FFCCCF"/>
<path d="M15.3797 8.00012C15.3797 6.49511 14.6413 5.16376 13.5142 4.33691C13.2819 4.61147 13.2956 5.02261 13.5546 5.28147C15.0536 6.78055 15.0536 9.21966 13.5546 10.7188C13.2956 10.9776 13.2828 11.3898 13.5152 11.6644C14.6422 10.8375 15.3797 9.50513 15.3797 8.00012Z" fill="#FF8086"/>
<path d="M18.175 8.00005C18.175 5.72275 17.1351 3.68687 15.5074 2.34058C15.2581 2.61484 15.2661 3.03944 15.531 3.30426C18.12 5.89353 18.12 10.1065 15.531 12.6958C15.2661 12.9606 15.2586 13.3858 15.5079 13.66C17.1356 12.3138 18.175 10.2774 18.175 8.00005Z" fill="#FF9A9F"/>
<path d="M20.9707 7.99989C20.9707 4.95025 19.6199 2.21636 17.4887 0.358154C17.2346 0.632246 17.241 1.06048 17.5076 1.32696C19.29 3.10936 20.2716 5.47918 20.2716 7.99985C20.2716 10.5205 19.29 12.8903 17.5076 14.6727C17.241 14.9392 17.2348 15.3677 17.4889 15.6418C19.6201 13.7837 20.9707 11.0495 20.9707 7.99989Z" fill="#FFCCCF"/>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

3
assets/icons/gear.svg Normal file
View File

@ -0,0 +1,3 @@
<svg width="22" height="23" viewBox="0 0 22 23" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.412 9.9034L18.9398 9.28324C18.788 8.81496 18.5981 8.35938 18.3703 7.92902C18.7373 7.30886 19.522 6.00531 19.522 6.00531C19.6613 5.75219 19.6233 5.43578 19.4208 5.23324L17.6362 3.43609C17.4338 3.23364 17.1047 3.19563 16.8642 3.3475L14.9404 4.49922C14.4975 4.27141 14.0419 4.08152 13.5862 3.92969L12.9661 1.45754C12.9028 1.17902 12.6496 0.976562 12.3586 0.976562H9.82734C9.53629 0.976562 9.28312 1.17902 9.21989 1.4575C9.21989 1.4575 8.78953 3.18293 8.59973 3.92965C8.10614 4.09418 7.62516 4.29663 7.16957 4.5498L5.16984 3.34746C4.91672 3.19558 4.60031 3.23359 4.39781 3.43605L2.61328 5.23324C2.39817 5.43578 2.36016 5.75219 2.51199 6.00531L3.75234 8.06828C3.5498 8.46063 3.38527 8.86563 3.24609 9.28324L0.773948 9.9034C0.495427 9.96672 0.292969 10.2198 0.292969 10.5109V13.0422C0.292969 13.3332 0.495427 13.5864 0.773906 13.6496L3.24609 14.2698C3.39797 14.7381 3.60051 15.2064 3.82832 15.6494L2.72723 17.4845C2.57535 17.7376 2.61328 18.054 2.82844 18.2692L4.61301 20.0537C4.81547 20.2563 5.13188 20.2942 5.38504 20.1423C5.38504 20.1423 6.62531 19.4082 7.2329 19.0412C7.67578 19.2817 8.13136 19.4715 8.59973 19.6234L9.21989 22.0956C9.28317 22.374 9.53629 22.5765 9.82734 22.5765H12.3586C12.6496 22.5765 12.9028 22.374 12.9661 22.0956L13.5862 19.6234C14.0671 19.4715 14.5354 19.269 14.9911 19.0286C15.6112 19.3955 16.8642 20.1423 16.8642 20.1423C17.1046 20.2942 17.4337 20.2563 17.6362 20.0537L19.4208 18.2692C19.6232 18.054 19.6613 17.7376 19.522 17.4845L18.383 15.5987C18.6108 15.1684 18.788 14.7254 18.9398 14.2698L21.412 13.6496C21.6905 13.5864 21.8929 13.3332 21.8929 13.0422V10.5109C21.893 10.2198 21.6905 9.96672 21.412 9.9034ZM11.093 16.2063C8.65031 16.2063 6.66328 14.2192 6.66328 11.7766C6.66328 9.33391 8.65031 7.34688 11.093 7.34688C13.5356 7.34688 15.5227 9.33391 15.5227 11.7766C15.5227 14.2192 13.5356 16.2063 11.093 16.2063Z" fill="#A1A7B3"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,13 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8194_10065)">
<path d="M17.6069 21.8341H4.06313C1.81893 21.8341 0 20.0151 0 17.7709V4.22719C0 1.98299 1.81893 0.164062 4.06313 0.164062H17.6069C19.8511 0.164062 21.67 1.98299 21.67 4.22719V17.7709C21.67 20.0151 19.8511 21.8341 17.6069 21.8341Z" fill="#E3F8FA"/>
<path d="M15.1312 7.18375L10.955 5.60387C10.8771 5.57475 10.7925 5.57475 10.7153 5.60387L6.53904 7.18375C6.40767 7.23386 6.32031 7.35982 6.32031 7.50067V9.30605C6.32031 9.41711 6.37516 9.5214 6.46591 9.58438C6.55868 9.64736 6.67516 9.6609 6.77877 9.6223L10.8351 8.08779L14.8915 9.62298C14.9301 9.6372 14.9707 9.64465 15.0113 9.64465C15.0791 9.64465 15.1461 9.62433 15.2043 9.58438C15.2958 9.5214 15.3499 9.41711 15.3499 9.30605V7.5C15.3499 7.35914 15.2626 7.23318 15.1312 7.18375Z" fill="#8CE1EB"/>
<path d="M15.1312 13.9572L10.955 12.3773C10.8771 12.3482 10.7925 12.3482 10.7153 12.3773L6.53904 13.9572C6.40767 14.0073 6.32031 14.1333 6.32031 14.2741V16.0795C6.32031 16.1906 6.37516 16.2948 6.46591 16.3578C6.55868 16.4215 6.67516 16.435 6.77877 16.3957L10.8351 14.8612L14.8915 16.3964C14.9301 16.4106 14.9707 16.4181 15.0113 16.4181C15.0791 16.4181 15.1461 16.3978 15.2043 16.3578C15.2958 16.2948 15.3499 16.1906 15.3499 16.0795V14.2734C15.3499 14.1326 15.2626 14.0066 15.1312 13.9572Z" fill="#26C6DA"/>
<path d="M15.1312 10.5705L10.955 8.99059C10.8771 8.96147 10.7925 8.96147 10.7153 8.99059L6.53904 10.5705C6.40767 10.6206 6.32031 10.7465 6.32031 10.8874V12.6928C6.32031 12.8038 6.37516 12.9081 6.46591 12.9711C6.55868 13.0348 6.67516 13.0483 6.77877 13.009L10.8351 11.4745L14.8915 13.0097C14.9301 13.0239 14.9707 13.0314 15.0113 13.0314C15.0791 13.0314 15.1461 13.0111 15.2043 12.9711C15.2958 12.9081 15.3499 12.8038 15.3499 12.6928V10.8867C15.3499 10.7459 15.2626 10.6199 15.1312 10.5705Z" fill="#26C6DA"/>
</g>
<defs>
<clipPath id="clip0_8194_10065">
<rect width="21.67" height="21.67" fill="white" transform="translate(0 0.164062)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,21 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.91415 8.48211C6.17473 8.04425 4.3403 8.07332 2.60916 8.56611C1.74635 8.81143 0.920517 9.16778 0.154693 9.62511C0.00421161 9.71499 -0.0449192 9.90978 0.0449212 10.0603C0.130234 10.2033 0.336744 10.2556 0.480159 10.1701C1.19846 9.74106 1.97317 9.40684 2.78283 9.17663C4.40699 8.71422 6.12775 8.68689 7.75919 9.09766C7.92922 9.14032 8.10166 9.03732 8.14445 8.86737C8.18723 8.69742 8.0841 8.52489 7.91415 8.48211Z" fill="#6BBEF6"/>
<path d="M7.37225 10.4417C5.99155 10.1036 4.53693 10.1313 3.16562 10.5219C2.47009 10.7197 1.80528 11.0068 1.1896 11.3753C1.0392 11.4653 0.990237 11.6602 1.08025 11.8106C1.1397 11.91 1.24495 11.9651 1.3529 11.9651C1.40838 11.9651 1.46453 11.9505 1.51557 11.92C2.0836 11.58 2.69716 11.3151 3.33942 11.1324C4.60502 10.7719 5.94733 10.7463 7.22126 11.0583C7.39138 11.0999 7.56332 10.9958 7.60504 10.8255C7.64677 10.6553 7.54254 10.4835 7.37225 10.4417Z" fill="#6BBEF6"/>
<path d="M6.83178 12.4028C5.81116 12.1632 4.73634 12.1888 3.72363 12.4772C3.19665 12.627 2.6929 12.8452 2.22626 13.1255C2.07599 13.2158 2.02737 13.4108 2.11763 13.561C2.20697 13.7097 2.4048 13.7587 2.55312 13.6696C2.97186 13.4181 3.42406 13.2223 3.89735 13.0877C4.80646 12.8289 5.77096 12.8057 6.68663 13.0208C6.85739 13.0605 7.02809 12.9549 7.06817 12.7844C7.10824 12.6138 7.00241 12.4429 6.83178 12.4028Z" fill="#6BBEF6"/>
<path d="M14.4727 19.6416L13.6738 21.4527C13.5717 21.6842 13.3426 21.8336 13.0896 21.8336H8.12563C7.79678 21.8336 7.57643 21.4956 7.70914 21.1947L9.38433 17.397L13.3135 19.1303L14.4727 19.6416Z" fill="#FFDDCE"/>
<path d="M14.475 19.6415L13.6761 21.4526C13.574 21.6841 13.3448 21.8335 13.0918 21.8335H12.123L13.3158 19.1301L14.475 19.6415Z" fill="#FFCBBE"/>
<path d="M14.1855 13.4249L16.3003 14.3579L19.2365 7.70213C19.4938 7.119 19.229 6.43743 18.645 6.1798C18.061 5.92217 17.3791 6.18606 17.1218 6.7692L14.1855 13.4249Z" fill="#FFDDCE"/>
<path d="M18.6453 6.17967C18.4607 6.09821 18.2662 6.06906 18.0786 6.08543C18.326 6.40921 18.3944 6.85397 18.2185 7.25273L15.8676 12.5814C15.6524 13.0693 15.8731 13.6392 16.3607 13.8543L16.4962 13.9141L19.2368 7.70201C19.4941 7.11887 19.2292 6.43726 18.6453 6.17967Z" fill="#FFCBBE"/>
<path d="M12.0723 12.492L14.187 13.425L16.7716 7.56632C17.0291 6.98276 16.7647 6.30102 16.1812 6.04356L16.1797 6.04289C15.5961 5.78542 14.9144 6.04983 14.6569 6.63334L12.0723 12.492Z" fill="#FFDDCE"/>
<path d="M16.1808 6.04379L16.1789 6.04295C15.9946 5.96165 15.8006 5.93254 15.6132 5.949C15.8606 6.27286 15.9288 6.71808 15.7526 7.11744L13.757 11.6407C13.5398 12.1331 13.7626 12.7082 14.2546 12.9252L14.3821 12.9814L16.7708 7.56693C17.0284 6.98312 16.7642 6.30121 16.1808 6.04379Z" fill="#FFCBBE"/>
<path d="M8.56284 14.6994C7.94352 16.1032 8.58154 17.7448 9.98852 18.3655L13.7612 20.0298C14.9419 20.5507 16.3209 20.0175 16.8407 18.8391L21.1141 9.15261C21.2426 8.86126 21.2407 8.54557 21.1335 8.26982C21.0262 7.99412 20.8142 7.75968 20.5222 7.63091C19.9384 7.37337 19.2564 7.63705 18.9994 8.21972L16.4886 13.9111L12.2593 12.0453C12.2942 11.9675 14.112 7.84707 14.112 7.84707C14.2405 7.55571 14.2384 7.23939 14.1314 6.96428C14.0246 6.68875 13.8121 6.45414 13.5201 6.32537C12.9363 6.06782 12.2545 6.33104 11.9973 6.91418L8.56284 14.6994Z" fill="#FFDDCE"/>
<path d="M13.1203 6.51804C13.2273 6.79311 13.2294 7.10947 13.1008 7.40083C13.1008 7.40083 12.0882 9.6961 11.5601 10.8928C11.3879 11.2831 11.5646 11.7387 11.9547 11.9108L12.2666 12.0484C12.3015 11.9705 14.1192 7.85012 14.1192 7.85012C14.2478 7.55876 14.2456 7.24244 14.1387 6.96733C14.0319 6.6918 13.8194 6.45719 13.5275 6.32842C13.3429 6.247 13.1485 6.21776 12.9608 6.23409C13.0274 6.32105 13.0811 6.41673 13.1203 6.51804Z" fill="#FFCBBE"/>
<path d="M21.1416 8.27269C21.0344 7.99699 20.8223 7.76255 20.5303 7.63377C20.3457 7.55235 20.1513 7.52316 19.9636 7.53953C20.0301 7.62649 20.0837 7.72213 20.1231 7.8234C20.2304 8.0991 20.2322 8.41483 20.1037 8.70619L17.2515 15.1713C17.102 15.5102 16.7231 15.686 16.3689 15.5776C15.1754 15.2122 13.3924 15.1243 12.5647 17.0007C11.6818 19.0018 13.3307 19.8367 13.3307 19.8367L13.7693 20.0326C14.9499 20.5535 16.3289 20.0203 16.8488 18.842L21.1221 9.15548C21.2507 8.86412 21.2488 8.54839 21.1416 8.27269Z" fill="#FFCBBE"/>
<path d="M14.0754 16.7326C14.8301 16.2038 15.3009 16.203 16.2573 16.2547C16.5879 16.2725 17.1315 16.1379 17.3359 15.8777L19.3641 12.8099C19.8043 12.2496 20.616 12.1527 21.1758 12.5935C21.7348 13.0337 21.8308 13.8434 21.3901 14.402L18.8737 18.2526C18.8737 18.2526 17.9272 19.6558 16.9484 20.0884C15.5668 20.6991 13.919 20.3242 13.0262 19.5722C13.0262 19.5722 12.8878 19.3576 13.0925 18.2919C13.2237 17.6089 14.0754 16.7326 14.0754 16.7326Z" fill="#FFDDCE"/>
<path d="M21.1759 12.5933C20.874 12.3556 20.4991 12.2745 20.1486 12.3378C20.5354 12.7953 20.5607 13.4764 20.1751 13.9651L17.6587 17.8158C17.6587 17.8158 16.7122 19.2189 15.7334 19.6515C15.0065 19.9729 14.206 20.0211 13.4805 19.8853C14.4122 20.4147 15.7761 20.6063 16.9485 20.0881C17.9273 19.6555 18.8737 18.2523 18.8737 18.2523L21.3902 14.4017C21.8308 13.8432 21.7349 13.0335 21.1759 12.5933Z" fill="#FFCBBE"/>
<path d="M14.2333 4.09028H7.43247C6.34901 4.09028 5.4707 3.21197 5.4707 2.12851C5.4707 1.04505 6.34901 0.166748 7.43247 0.166748H14.2333C15.3167 0.166748 16.195 1.04505 16.195 2.12851C16.195 3.21197 15.3167 4.09028 14.2333 4.09028Z" fill="#5C90B9"/>
<path d="M14.2336 0.166748H12.9258C14.0092 0.166748 14.8875 1.04505 14.8875 2.12851C14.8875 3.21197 14.0092 4.09028 12.9258 4.09028H14.2336C15.3171 4.09028 16.1954 3.21197 16.1954 2.12851C16.1954 1.04505 15.3171 0.166748 14.2336 0.166748Z" fill="#4A80AA"/>
<path d="M10.8338 4.09028C11.92 4.09028 12.8004 3.21197 12.8004 2.12851C12.8004 1.04506 11.92 0.166748 10.8338 0.166748C9.74768 0.166748 8.86719 1.04506 8.86719 2.12851C8.86719 3.21197 9.74768 4.09028 10.8338 4.09028Z" fill="#FFD064"/>
<path d="M10.8329 4.09028C11.9163 4.09028 12.7946 3.21197 12.7946 2.12851C12.7946 1.04506 11.9163 0.166748 10.8329 0.166748C9.74941 0.166748 8.87109 1.04506 8.87109 2.12851C8.87109 3.21197 9.74941 4.09028 10.8329 4.09028Z" fill="#FFD064"/>
<path d="M10.834 2.78329C11.1954 2.78329 11.4884 2.49033 11.4884 2.12895C11.4884 1.76757 11.1954 1.47461 10.834 1.47461C10.4726 1.47461 10.1797 1.76757 10.1797 2.12895C10.1797 2.49033 10.4726 2.78329 10.834 2.78329Z" fill="#5C90B9"/>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.72751C16.7022 7.47106 16.444 7.24286 16.1963 7.34188L15.166 7.75403C16.1394 3.617 13.6255 1.13192 12.3309 0.160156L11.9303 0.68629C12.295 4.20985 10.8697 6.77552 10.8697 6.77552L9.6861 6.06286C7.63047 8.86439 7.26813 11.637 7.26813 11.637L6.22457 10.9497L5.84278 15.599L4.19531 17.1113C4.19531 17.1113 9.12215 19.2668 13.862 14.8542C14.0281 14.6996 13.9924 14.4272 13.7895 14.3258L12.2619 13.562C13.7729 12.6635 15.8697 10.3879 16.629 7.72751Z" fill="#1479FF"/>
<path d="M6.94955 12.0658C7.20748 12.3235 7.64893 12.1695 7.69061 11.8073L7.74029 11.3759C7.74315 11.3515 8.03272 8.98838 9.75631 6.48396L10.3884 7.11599C10.5932 7.32076 10.9371 7.27255 11.0777 7.01939L11.2124 6.77685C11.2795 6.65646 12.7674 3.91306 12.3306 0.160279C12.2926 0.131763 12.2554 0.104185 12.2196 0.0782866C11.9917 -0.0867917 11.68 0.0943414 11.709 0.374303C12.0737 3.89786 10.6483 6.46353 10.6483 6.46353L9.94327 5.75849C9.80448 5.6197 9.57174 5.63474 9.45561 5.79298C7.40002 8.59451 7.099 11.3035 7.099 11.3035L6.50061 10.7051C6.32693 10.5315 6.03064 10.6084 5.96029 10.8437C5.23283 13.2767 5.71564 15.7659 5.71564 15.7659L5.71514 15.7664L6.34936 15.6438C6.34525 15.6222 5.97377 13.6265 6.44041 11.5575L6.94955 12.0658Z" fill="#D5EAFF"/>
<path d="M13.2564 6.00624C13.3141 5.83764 13.224 5.65428 13.0554 5.59659C12.8865 5.5394 12.7031 5.62905 12.6457 5.7976C11.8359 8.16772 10.4981 10.2792 8.9927 12.0909C8.98586 10.3632 9.52113 9.3046 9.5316 9.28437C9.61414 9.12683 9.55367 8.93194 9.39641 8.8489C9.23793 8.76601 9.04348 8.82636 8.96031 8.98394C8.92824 9.04499 8.19051 10.4827 8.37992 12.7999C4.65574 16.9746 0.236005 19.3733 0.170849 19.408C0.0136223 19.492 -0.0459481 19.6873 0.0381926 19.8446C0.0961615 19.9534 0.207724 20.0154 0.323037 20.0154C0.374404 20.0154 0.426084 20.0032 0.474599 19.9774C0.530303 19.9477 3.69996 18.2289 6.9675 15.1631C7.06207 15.1709 7.47437 15.2031 7.91512 15.2031C8.76023 15.2031 10.083 15.1232 11.1436 14.6989C11.3091 14.6326 11.3897 14.4449 11.3236 14.2793C11.2574 14.1139 11.068 14.034 10.9041 14.0996C9.80613 14.5389 8.34164 14.5695 7.6 14.552C9.86817 12.3043 12.09 9.41976 13.2564 6.00624Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,10 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.8333 21.8332C16.8164 21.8332 21.6667 16.9829 21.6667 10.9998C21.6667 5.01675 16.8164 0.166504 10.8333 0.166504C4.85025 0.166504 0 5.01675 0 10.9998C0 16.9829 4.85025 21.8332 10.8333 21.8332Z" fill="#59ABFF"/>
<path d="M21.6663 10.9998C21.6663 5.0267 16.8061 0.166504 10.833 0.166504V21.8332C16.8061 21.8332 21.6663 16.973 21.6663 10.9998Z" fill="#4D87FF"/>
<path d="M10.8337 19.6663C15.6201 19.6663 19.5003 15.7861 19.5003 10.9997C19.5003 6.21321 15.6201 2.33301 10.8337 2.33301C6.04719 2.33301 2.16699 6.21321 2.16699 10.9997C2.16699 15.7861 6.04719 19.6663 10.8337 19.6663Z" fill="#F3F5F9"/>
<path d="M19.4997 10.9997C19.4997 6.22095 15.6117 2.33301 10.833 2.33301V19.6663C15.6117 19.6663 19.4997 15.7784 19.4997 10.9997Z" fill="#E1E6F0"/>
<path d="M14.4007 7.93541C13.6771 7.21182 12.1435 6.66618 10.8333 6.66618C10.235 6.66618 9.75 6.18113 9.75 5.58285C9.75 4.98456 10.235 4.49951 10.8333 4.49951C12.7149 4.49951 14.8118 5.2824 15.9327 6.40329C16.3558 6.82637 14.6121 8.14688 14.4007 7.93541Z" fill="#FF5959"/>
<path d="M14.4004 7.9359C14.6119 8.14744 16.3555 6.82693 15.9324 6.40385C14.8114 5.28289 12.7145 4.5 10.833 4.5V6.66667C12.1432 6.66667 13.6768 7.21231 14.4004 7.9359Z" fill="#E63A57"/>
<path d="M10.8338 12.0833C10.534 12.0833 10.2358 11.9596 10.0216 11.7174C9.62541 11.2691 9.66758 10.5845 10.1159 10.1882L14.4493 6.35808C14.8974 5.9618 15.5821 6.00405 15.9784 6.45233C16.3746 6.90061 16.3325 7.58528 15.8841 7.98149L11.5508 11.8117C11.3447 11.9938 11.0887 12.0833 10.8338 12.0833Z" fill="#4D4D80"/>
<path d="M14.4489 6.35808L10.833 9.55413V12.0833H10.8334C11.0884 12.0833 11.3444 11.9938 11.5505 11.8117L15.8838 7.98149C16.3322 7.58528 16.3743 6.90061 15.9781 6.45233C15.5817 6.00405 14.897 5.9618 14.4489 6.35808Z" fill="#443D66"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,6 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.8334 21.8334C7.93969 21.8334 5.21921 20.7065 3.17302 18.6604C1.12688 16.6143 0 13.8938 0 11.0001C0 8.10644 1.12688 5.38596 3.17298 3.33977C5.21921 1.29363 7.93961 0.166748 10.8334 0.166748C13.727 0.166748 16.4475 1.29363 18.4936 3.33977C20.5398 5.38596 21.6667 8.1064 21.6667 11.0001C21.6667 13.8939 20.5397 16.6143 18.4936 18.6605C16.4475 20.7067 13.727 21.8334 10.8334 21.8334ZM10.8334 3.12052C6.48853 3.12052 2.95378 6.65528 2.95378 11.0001C2.95378 15.345 6.48853 18.8797 10.8334 18.8797C15.1782 18.8797 18.713 15.3449 18.713 11.0001C18.713 6.65532 15.1781 3.12052 10.8334 3.12052Z" fill="#7DD2F0"/>
<g opacity="0.1">
<path d="M5.14215 18.6604C3.09605 16.6143 1.96917 13.8938 1.96917 11.0001C1.96917 8.1064 3.09605 5.38592 5.14215 3.33981C6.95445 1.52752 9.29585 0.437158 11.8179 0.211393C11.4924 0.182194 11.1641 0.166748 10.8334 0.166748C7.93969 0.166748 5.21921 1.29363 3.17302 3.33977C1.12688 5.38588 0 8.1064 0 11C0 13.8937 1.12688 16.6142 3.17298 18.6603C5.21913 20.7065 7.93961 21.8334 10.8333 21.8334C11.164 21.8334 11.4924 21.818 11.8179 21.7888C9.29585 21.563 6.95449 20.4726 5.14215 18.6604Z" fill="black"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,9 @@
<svg width="22" height="18" viewBox="0 0 22 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M21.6665 12.1843H13.9647V11.5495C13.9647 8.39954 11.4019 5.8367 8.25187 5.8367C5.10188 5.8367 2.53904 8.39954 2.53904 11.5495V12.1843H0V11.5495C0 8.65592 1.12686 5.93539 3.17297 3.88928C5.21908 1.84317 7.93962 0.716309 10.8332 0.716309C13.7268 0.716309 16.4474 1.84317 18.4935 3.88928C20.5396 5.93539 21.6665 8.65592 21.6665 11.5495V12.1843Z" fill="#FFCE2E"/>
<path d="M18.4934 3.88928C16.4473 1.84317 13.7267 0.716309 10.8331 0.716309C7.93952 0.716309 5.21898 1.84317 3.17288 3.88928C3.02245 4.03954 2.87781 4.1941 2.7373 4.35146L5.1441 6.75826C6.03921 6.17574 7.10657 5.8367 8.25178 5.8367C10.8733 5.8367 13.0879 7.61188 13.7572 10.0233L21.6559 11.0867C21.5424 8.36681 20.4301 5.82596 18.4934 3.88928Z" fill="#FF9900"/>
<path d="M13.9645 11.5495V12.1843H21.6662V11.5495C21.6662 8.65592 20.5394 5.93539 18.4933 3.88928C16.4472 1.84317 13.7266 0.716309 10.833 0.716309V6.4541C12.6895 7.39847 13.9645 9.32788 13.9645 11.5495Z" fill="#FF4F18"/>
<path d="M18.967 3.89014L9.22326 12.7801C8.8667 13.1054 8.85381 13.6625 9.19515 14.0036L11.5747 16.3832C11.9164 16.725 12.4746 16.7116 12.7996 16.3537L21.6674 6.58985V3.89014H18.967Z" fill="#B7E4F8"/>
<path d="M11.5735 16.3832C11.9153 16.725 12.4736 16.7116 12.7985 16.3537L21.6663 6.58985V3.89014L10.3828 15.1925L11.5735 16.3832Z" fill="#6FC8F1"/>
<path d="M10.8328 17.2838C10.1546 17.2838 9.51683 17.0197 9.03729 16.5401C8.04746 15.5501 8.04746 13.9393 9.03729 12.9493C9.51683 12.4697 10.1546 12.2056 10.8328 12.2056C11.5109 12.2056 12.1486 12.4697 12.6281 12.9493C13.6181 13.9393 13.6181 15.55 12.6281 16.5401C12.1486 17.0197 11.5109 17.2838 10.8328 17.2838Z" fill="#388CB3"/>
<path d="M12.628 12.9492L9.03711 16.5401C9.51665 17.0196 10.1544 17.2838 10.8326 17.2838C11.5107 17.2838 12.1484 17.0196 12.628 16.5401C13.6178 15.5501 13.6178 13.9392 12.628 12.9492Z" fill="#265D77"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -0,0 +1,15 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 6.47823V7.39644C0 7.51684 0.0975848 7.61442 0.217979 7.61442H8.12501V6.26025H0.217979C0.0975848 6.26025 0 6.35784 0 6.47823Z" fill="#80D261"/>
<path d="M14.2606 0.16662C10.1904 0.144022 6.83113 3.43254 6.77133 7.50241C6.75191 8.82462 7.07708 10.0693 7.66284 11.1524C7.89233 11.5767 7.81671 12.101 7.47563 12.4422L6.82859 13.0892L7.44761 14.3853L8.74368 15.0042L9.39072 14.3572C9.73184 14.0161 10.2562 13.9405 10.6805 14.17C11.7636 14.7558 13.0083 15.0809 14.3305 15.0615C18.4003 15.0017 21.6889 11.6424 21.6663 7.57219C21.6436 3.49229 18.3405 0.18926 14.2606 0.16662Z" fill="#D4F2F6"/>
<path d="M8.80176 7.61426C8.80176 10.6058 11.2269 13.0309 14.2184 13.0309C16.9807 13.0309 19.26 10.9633 19.5932 8.29135L17.6039 7.61426L16.2497 5.58301H14.8955L13.5413 9.64551H12.1872L10.833 6.93718L8.80176 7.61426Z" fill="#6BD9E7"/>
<path d="M17.6041 7.61443L16.2499 5.58318H14.8957L13.5416 9.64568H12.1874L11.5103 6.93734L8.97266 6.26026C9.57399 3.92402 11.6947 2.19775 14.2187 2.19775C16.9809 2.19775 19.2602 4.26536 19.5934 6.93734L17.6041 7.61443Z" fill="#6BD9E7"/>
<path d="M18.0722 7.77344C17.5411 10.2015 15.3802 12.0283 12.7805 12.0283C11.9447 12.0283 11.1532 11.8389 10.4463 11.5009C11.4217 12.4479 12.7523 13.031 14.2192 13.031C16.9814 13.031 19.2607 10.9634 19.5939 8.29136L18.0722 7.77344Z" fill="#02C7DD"/>
<path d="M18.1965 6.61169C18.1965 6.89107 18.1753 7.16563 18.1344 7.4338L19.5932 6.93728C19.3609 5.07382 18.1819 3.50429 16.5527 2.7251C17.5678 3.7114 18.1965 5.09096 18.1965 6.61169Z" fill="#02C7DD"/>
<path d="M8.31407 16.2938L8.74402 15.004L6.82893 13.0889L5.53908 13.5188C5.44276 13.5509 5.35525 13.605 5.28348 13.6768L0.319224 18.641C-0.106408 19.0666 -0.106408 19.7567 0.319224 20.1823L1.65054 21.5136C2.07617 21.9392 2.76625 21.9392 3.19184 21.5136L8.15609 16.5494C8.22791 16.4776 8.28199 16.3901 8.31407 16.2938Z" fill="#017297"/>
<path d="M10.833 7.83257V9.23307C10.833 9.83496 11.321 10.3229 11.9229 10.3229H13.8057C14.4076 10.3229 14.8955 9.83496 14.8955 9.23303V6.47836C14.8955 6.35796 14.9931 6.26038 15.1135 6.26038H16.0317C16.1521 6.26038 16.2497 6.35796 16.2497 6.47836V7.20178C16.2497 7.80371 16.7377 8.29167 17.3396 8.29167H19.5932C19.6209 8.06984 19.6351 7.84391 19.6351 7.61459C19.6351 7.38527 19.6209 7.15933 19.5932 6.9375H17.8219C17.7015 6.9375 17.6039 6.83992 17.6039 6.71952V5.9961C17.6039 5.39422 17.1159 4.90625 16.514 4.90625H14.6312C14.0293 4.90625 13.5413 5.39422 13.5413 5.99614V8.75082C13.5413 8.87121 13.4438 8.9688 13.3234 8.9688H12.4052C12.2848 8.9688 12.1872 8.87121 12.1872 8.75082V7.35031C12.1872 6.74839 11.6992 6.26042 11.0973 6.26042H8.97238C8.861 6.69324 8.80176 7.14698 8.80176 7.61459H10.615C10.7354 7.61459 10.833 7.71217 10.833 7.83257Z" fill="#80D261"/>
<path d="M19.5931 6.9375H18.1867C18.1588 7.40723 18.071 7.86117 17.9307 8.29167H19.5931C19.6208 8.06984 19.6351 7.8439 19.6351 7.61458C19.635 7.38526 19.6208 7.15933 19.5931 6.9375Z" fill="#68CA44"/>
<path d="M16.1203 11.3269L12.9528 16.8131C12.7011 17.2491 13.0158 17.794 13.5191 17.794H19.854C20.3574 17.794 20.672 17.2491 20.4203 16.8131L17.2529 11.3269C17.0012 10.891 16.372 10.891 16.1203 11.3269Z" fill="#FFC344"/>
<path d="M7.30793 15.8097C7.22427 15.8097 7.14056 15.7777 7.07675 15.7139L6.11922 14.7564C5.99151 14.6287 5.99151 14.4217 6.11922 14.294C6.2469 14.1663 6.45392 14.1663 6.58163 14.294L7.53915 15.2515C7.66687 15.3792 7.66687 15.5862 7.53915 15.7139C7.4753 15.7778 7.39159 15.8097 7.30793 15.8097Z" fill="#025F80"/>
<path d="M16.6873 15.4124C16.5067 15.4124 16.3604 15.266 16.3604 15.0854V13.7312C16.3604 13.5507 16.5067 13.4043 16.6873 13.4043C16.8679 13.4043 17.0142 13.5507 17.0142 13.7312V15.0854C17.0142 15.2659 16.8679 15.4124 16.6873 15.4124Z" fill="#017297"/>
<path d="M16.6863 16.7725C16.8669 16.7725 17.0133 16.6262 17.0133 16.4456C17.0133 16.265 16.8669 16.1187 16.6863 16.1187C16.5058 16.1187 16.3594 16.265 16.3594 16.4456C16.3594 16.6262 16.5058 16.7725 16.6863 16.7725Z" fill="#017297"/>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -0,0 +1,18 @@
<svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.8333 1.71851L0.472669 15.9196C-0.702346 17.5301 0.447998 19.7934 2.44166 19.7934H19.225C21.2187 19.7934 22.369 17.5301 21.194 15.9196L10.8333 1.71851Z" fill="#F1FAFF"/>
<path d="M21.1931 15.9183L10.8333 1.71851L9.06055 4.14839L17.6475 15.9183C18.8229 17.5294 17.6722 19.7933 15.6779 19.7933H19.2235C21.2178 19.7934 22.3685 17.5294 21.1931 15.9183Z" fill="#C7EEFB"/>
<path d="M12.9102 6.05994H8.76926C7.63838 6.05994 6.72168 5.14319 6.72168 4.01236V2.12199C6.72168 2.00515 6.81643 1.9104 6.93327 1.9104H14.7463C14.8631 1.9104 14.9579 2.00515 14.9579 2.12199V4.01236C14.9579 5.14319 14.0411 6.05994 12.9102 6.05994Z" fill="#E0DDE2"/>
<path d="M14.748 1.9104H13.5893V2.63688C13.5893 3.77034 12.6704 4.6892 11.537 4.6892H7.40546C7.19886 4.6892 6.99959 4.65835 6.81152 4.6016C7.06628 5.44539 7.84934 6.05998 8.77624 6.05998H12.9078C14.0412 6.05998 14.9601 5.14112 14.9601 4.00766V2.12246C14.9601 2.00536 14.8651 1.9104 14.748 1.9104Z" fill="#C8C1C9"/>
<path d="M16.3024 2.66033H5.37858C5.26174 2.66033 5.16699 2.56558 5.16699 2.44874V0.41838C5.16699 0.301538 5.26174 0.206787 5.37858 0.206787H16.3024C16.4192 0.206787 16.514 0.301538 16.514 0.41838V2.44874C16.514 2.56562 16.4193 2.66033 16.3024 2.66033Z" fill="#E0DDE2"/>
<path d="M16.3019 0.206787H15.0629V0.997127C15.0629 1.11426 14.9679 1.20923 14.8508 1.20923H5.16699V2.44827C5.16699 2.56541 5.26195 2.66037 5.37909 2.66037H16.3019C16.4191 2.66037 16.514 2.56541 16.514 2.44827V0.418887C16.514 0.30175 16.4191 0.206787 16.3019 0.206787Z" fill="#C8C1C9"/>
<path d="M10.841 4.82612C11.141 4.82612 11.3842 4.58293 11.3842 4.28294C11.3842 3.98294 11.141 3.73975 10.841 3.73975C10.541 3.73975 10.2979 3.98294 10.2979 4.28294C10.2979 4.58293 10.541 4.82612 10.841 4.82612Z" fill="#FA2A3B"/>
<path d="M10.7136 10.264C11.2545 10.264 11.6929 9.82553 11.6929 9.28469C11.6929 8.74385 11.2545 8.30542 10.7136 8.30542C10.1728 8.30542 9.73438 8.74385 9.73438 9.28469C9.73438 9.82553 10.1728 10.264 10.7136 10.264Z" fill="#62D8F9"/>
<path d="M10.7138 8.30566C10.6442 8.30566 10.5762 8.31307 10.5107 8.32686C10.9541 8.42039 11.2869 8.81373 11.2869 9.28494C11.2869 9.75614 10.9541 10.1495 10.5107 10.243C10.5763 10.2568 10.6442 10.2642 10.7138 10.2642C11.2546 10.2642 11.6931 9.82576 11.6931 9.28494C11.6931 8.74412 11.2547 8.30566 10.7138 8.30566Z" fill="#00BEF7"/>
<path d="M14.1217 13.3881L12.4086 13.1096L11.4778 11.3116C11.3944 11.1236 11.2634 10.8661 10.9741 10.78L9.88702 10.4538C9.76776 10.4247 9.65308 10.4141 9.4497 10.446L7.13145 10.9844C6.99264 11.0167 6.86865 11.0946 6.7794 11.2057L5.54163 12.7463C5.32157 13.0202 5.3652 13.4207 5.63913 13.6408C5.75661 13.7352 5.89736 13.7811 6.03718 13.7811C6.22338 13.7811 6.40789 13.6997 6.53357 13.5433L7.6336 12.1741L8.72165 11.9215L8.08273 14.0507C8.07045 14.0866 8.06652 14.1328 8.04896 14.234L7.68849 16.7928L6.00734 18.2515C5.74192 18.4818 5.71344 18.8836 5.94374 19.149C6.06959 19.294 6.24657 19.3683 6.4246 19.3683C6.57238 19.3683 6.72087 19.3171 6.84127 19.2126L8.70227 17.598C8.81826 17.4973 8.89393 17.3582 8.91534 17.2062L9.21009 15.114L9.24932 15.1257L10.8419 16.9844L11.7847 19.0313C11.892 19.2643 12.1223 19.4016 12.363 19.4016C12.452 19.4016 12.5425 19.3828 12.6287 19.343C12.9479 19.196 13.0874 18.8181 12.9405 18.499L11.9606 16.3716C11.936 16.3182 11.9042 16.2685 11.8659 16.2238L10.5325 14.6676L10.9911 13.1393L11.4257 13.9789C11.5183 14.1577 11.69 14.282 11.8886 14.3143L13.9174 14.6441C13.952 14.6497 13.9864 14.6524 14.0203 14.6524C14.3267 14.6524 14.5968 14.4304 14.6475 14.1182C14.7039 13.7713 14.4685 13.4445 14.1217 13.3881Z" fill="#62D8F9"/>
<path d="M8.99707 10.5511C9.20045 10.5192 9.31454 10.5321 9.4338 10.5611L10.5209 10.8873C10.8102 10.9735 10.9411 11.231 11.0245 11.419L12.0585 13.4273C12.085 13.4787 12.1345 13.5144 12.1917 13.5232L14.645 13.9017C14.5979 13.6445 14.3947 13.4324 14.1218 13.3881L12.4088 13.1096L11.4779 11.3116C11.3945 11.1236 11.2635 10.8661 10.9742 10.78L9.88716 10.4538C9.7679 10.4247 9.65322 10.4141 9.44984 10.446L8.99707 10.5511Z" fill="#00BEF7"/>
<path d="M11.9615 16.3715C11.9369 16.3181 11.905 16.2684 11.8667 16.2237L10.5333 14.6676L10.9919 13.1396L10.9337 13.0271C10.8579 12.8807 10.6424 12.9008 10.595 13.0587L10.1416 14.5696C10.1032 14.6976 10.1325 14.8363 10.2194 14.9377L11.4134 16.3311C11.4516 16.3758 11.4835 16.4256 11.5081 16.4789L12.4879 18.6063C12.6191 18.8912 12.5216 19.2223 12.2723 19.3948C12.3025 19.3992 12.3331 19.4015 12.3638 19.4015C12.4528 19.4015 12.5433 19.3827 12.6295 19.343C12.9487 19.196 13.0882 18.8181 12.9413 18.499L11.9615 16.3715Z" fill="#00BEF7"/>
<path d="M3.47827 18.4406C3.31064 18.4406 3.17032 18.3095 3.16092 18.1401C3.08839 16.833 4.09282 15.7105 5.39991 15.6379C5.57574 15.6288 5.72551 15.7624 5.7352 15.9379C5.74493 16.1133 5.61065 16.2634 5.4352 16.2732C4.47834 16.3263 3.74305 17.148 3.79616 18.1048C3.8059 18.2802 3.67162 18.4304 3.49617 18.4401C3.4902 18.4404 3.48419 18.4406 3.47827 18.4406Z" fill="#00BEF7"/>
<path d="M4.76838 18.4539C4.60076 18.4539 4.46044 18.3228 4.45104 18.1534C4.41524 17.5085 4.91082 16.9547 5.5557 16.9189C5.73081 16.9093 5.88121 17.0435 5.89094 17.219C5.90068 17.3944 5.76636 17.5445 5.59091 17.5542C5.29634 17.5706 5.06994 17.8236 5.08627 18.1182C5.09601 18.2936 4.96169 18.4437 4.78624 18.4535C4.78032 18.4537 4.77431 18.4539 4.76838 18.4539Z" fill="#00BEF7"/>
<path d="M17.0106 13.6226C17.0076 13.6226 17.0046 13.6226 17.0016 13.6225C16.826 13.6176 16.6876 13.4712 16.6925 13.2956C16.7191 12.3377 15.9615 11.5366 15.0036 11.5099C14.828 11.505 14.6896 11.3587 14.6945 11.183C14.6994 11.0074 14.8466 10.8691 15.0213 10.8739C16.3299 10.9103 17.365 12.0047 17.3285 13.3134C17.3237 13.4859 17.1822 13.6226 17.0106 13.6226Z" fill="#00BEF7"/>
<path d="M15.7216 13.6714C15.7186 13.6714 15.7156 13.6713 15.7126 13.6712C15.537 13.6663 15.3986 13.52 15.4035 13.3444C15.4075 13.2015 15.3555 13.0656 15.2574 12.9618C15.1591 12.8579 15.0263 12.7985 14.8835 12.7946C14.7079 12.7897 14.5695 12.6433 14.5743 12.4677C14.5793 12.2921 14.724 12.1534 14.9012 12.1586C15.214 12.1673 15.5046 12.2973 15.7196 12.5246C15.9346 12.752 16.0482 13.0494 16.0395 13.3621C16.0346 13.5347 15.8932 13.6714 15.7216 13.6714Z" fill="#00BEF7"/>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@ -0,0 +1,29 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.18147 12.617H0.352631C0.157897 12.617 0 12.4719 0 12.2928C0 12.1137 0.157897 11.9685 0.352631 11.9685H5.18147C5.37624 11.9685 5.5341 12.1137 5.5341 12.2928C5.5341 12.4719 5.37624 12.617 5.18147 12.617Z" fill="#C5D3DD"/>
<path d="M5.37006 14.6529H1.70029C1.50555 14.6529 1.34766 14.5077 1.34766 14.3287C1.34766 14.1496 1.50555 14.0044 1.70029 14.0044H5.3701C5.56483 14.0044 5.72273 14.1496 5.72273 14.3287C5.72269 14.5077 5.56483 14.6529 5.37006 14.6529Z" fill="#C5D3DD"/>
<path d="M6.10302 16.3546H3.87607C3.68133 16.3546 3.52344 16.2094 3.52344 16.0303C3.52344 15.8512 3.68133 15.7061 3.87607 15.7061H6.10302C6.29775 15.7061 6.45565 15.8512 6.45565 16.0303C6.45565 16.2094 6.29779 16.3546 6.10302 16.3546Z" fill="#C5D3DD"/>
<path d="M5.70018 10.5809H2.03037C1.83563 10.5809 1.67773 10.4357 1.67773 10.2566C1.67773 10.0776 1.83563 9.93237 2.03037 9.93237H5.70018C5.89495 9.93237 6.05281 10.0776 6.05281 10.2566C6.05281 10.4358 5.89491 10.5809 5.70018 10.5809Z" fill="#C5D3DD"/>
<path d="M6.43505 8.87901H4.2081C4.01332 8.87901 3.85547 8.73382 3.85547 8.55474C3.85547 8.37565 4.01337 8.23047 4.2081 8.23047H6.43505C6.62978 8.23047 6.78768 8.37565 6.78768 8.55474C6.78768 8.73382 6.62978 8.87901 6.43505 8.87901Z" fill="#C5D3DD"/>
<path d="M9.54009 6.56555L7.89129 4.64779C7.77455 4.51203 7.56983 4.4965 7.43398 4.61333L6.40778 5.4956C6.34258 5.55167 6.30233 5.63136 6.29584 5.71709C6.28936 5.80283 6.31725 5.88766 6.37332 5.9529L8.02212 7.87067C8.08624 7.94525 8.17695 7.98351 8.26813 7.98351C8.34297 7.98351 8.4182 7.95775 8.47938 7.90513L9.50559 7.02286C9.57078 6.96678 9.61104 6.8871 9.61752 6.80136C9.62405 6.71558 9.59616 6.63075 9.54009 6.56555Z" fill="#FEDF30"/>
<path d="M8.57688 4.05987L7.88066 3.25006C7.76388 3.1143 7.5592 3.09882 7.42335 3.2156L5.02887 5.27423C4.96367 5.33031 4.92341 5.40999 4.91693 5.49573C4.91049 5.58147 4.93833 5.6663 4.99441 5.73154L5.69063 6.54135C5.75475 6.61593 5.84542 6.65419 5.93664 6.65419C6.01149 6.65419 6.08672 6.62842 6.1479 6.5758L8.54238 4.51718C8.60758 4.4611 8.64783 4.38142 8.65432 4.29568C8.6608 4.2099 8.63292 4.12507 8.57688 4.05987Z" fill="#D7AA02"/>
<path d="M20.2699 5.71709C20.2634 5.63135 20.2231 5.55167 20.1579 5.49559L19.1317 4.61332C18.9959 4.49654 18.7912 4.51198 18.6744 4.64778L17.0256 6.56555C16.9696 6.63075 16.9417 6.71558 16.9482 6.80136C16.9547 6.8871 16.9949 6.96678 17.0601 7.02286L18.0863 7.90513C18.1476 7.95774 18.2227 7.98351 18.2976 7.98351C18.3888 7.98351 18.4795 7.94525 18.5436 7.87067L20.1924 5.9529C20.2485 5.88766 20.2763 5.80287 20.2699 5.71709Z" fill="#FEDF30"/>
<path d="M21.5385 5.27382L19.144 3.21519C19.0788 3.15912 18.994 3.13093 18.9082 3.13771C18.8225 3.14416 18.7428 3.18445 18.6867 3.24965L17.9905 4.05946C17.8737 4.19526 17.8892 4.39998 18.025 4.51672L20.4195 6.57535C20.4785 6.62611 20.5536 6.65374 20.6309 6.65374C20.6391 6.65374 20.6472 6.65343 20.6553 6.65283C20.7411 6.64634 20.8207 6.60609 20.8768 6.54085L21.573 5.73104C21.6898 5.59532 21.6743 5.39056 21.5385 5.27382Z" fill="#D7AA02"/>
<path d="M12.3359 2.71826H14.3258V5.56015H12.3359V2.71826Z" fill="#0055A3"/>
<path d="M14.5486 0.899902H10.8925C10.5495 0.899902 10.2715 1.17795 10.2715 1.52094V2.27541C10.2715 2.6184 10.5495 2.89645 10.8925 2.89645H14.529L15.412 2.65843V1.153L14.5486 0.899902Z" fill="#0473CE"/>
<path d="M15.7658 0.899902H14.4688C14.8117 0.899902 15.0898 1.17795 15.0898 1.52094V2.27541C15.0898 2.6184 14.8117 2.89645 14.4688 2.89645H15.7658C16.1088 2.89645 16.3869 2.6184 16.3869 2.27541V1.52094C16.3869 1.17795 16.1088 0.899902 15.7658 0.899902Z" fill="#0055A3"/>
<path d="M11.1894 20.8213C6.73857 19.6401 4.08809 15.0744 5.26933 10.6236C6.22178 7.03487 9.37457 4.61661 12.8933 4.43364C13.7386 4.38971 21.1366 5.74662 21.1366 12.5075C21.1366 17.4616 16.6175 21.3883 12.6796 21.0765C12.1846 21.0373 11.6863 20.9532 11.1894 20.8213Z" fill="#26A6FE"/>
<path d="M13.3282 4.42456C13.11 4.42456 12.8937 4.43303 12.6797 4.44951C16.9815 4.78048 20.369 8.37579 20.369 12.7625C20.369 17.1491 16.9814 20.7444 12.6797 21.0754C12.8937 21.0919 13.11 21.1003 13.3282 21.1003C17.9331 21.1003 21.6661 17.3674 21.6661 12.7625C21.6661 8.15754 17.9331 4.42456 13.3282 4.42456Z" fill="#0593FC"/>
<path d="M13.3291 19.2553C16.9152 19.2553 19.8222 16.3483 19.8222 12.7622C19.8222 9.17613 16.9152 6.26904 13.3291 6.26904C9.74302 6.26904 6.83594 9.17613 6.83594 12.7622C6.83594 16.3483 9.74302 19.2553 13.3291 19.2553Z" fill="#FFF3EF"/>
<path d="M14.167 6.32385C13.6602 6.25778 13.1594 6.25229 12.6719 6.30141C12.7378 6.30798 12.8038 6.31524 12.8699 6.32385C16.426 6.78721 18.933 10.0456 18.4696 13.6016C18.0723 16.6508 15.6199 18.9285 12.687 19.2238C16.1652 19.5707 19.3119 17.0915 19.7667 13.6016C20.2301 10.0456 17.723 6.78721 14.167 6.32385Z" fill="#F1F0F0"/>
<path d="M13.3291 8.12532C13.1625 8.12532 13.0273 7.99021 13.0273 7.82353V6.98977C13.0273 6.8231 13.1625 6.68799 13.3291 6.68799C13.4958 6.68799 13.6309 6.8231 13.6309 6.98977V7.82353C13.6309 7.99021 13.4958 8.12532 13.3291 8.12532Z" fill="#B6C4CF"/>
<path d="M16.8487 9.56667C16.7714 9.56667 16.6942 9.53722 16.6353 9.47829C16.5174 9.36043 16.5174 9.16937 16.6353 9.05151L17.2249 8.46195C17.3427 8.34404 17.5337 8.34409 17.6517 8.46195C17.7695 8.57981 17.7695 8.77087 17.6516 8.88873L17.062 9.47829C17.0031 9.53718 16.9259 9.56667 16.8487 9.56667Z" fill="#B6C4CF"/>
<path d="M19.1512 13.0738H18.3174C18.1507 13.0738 18.0156 12.9387 18.0156 12.772C18.0156 12.6053 18.1507 12.4702 18.3174 12.4702H19.1512C19.3178 12.4702 19.453 12.6053 19.453 12.772C19.453 12.9387 19.3178 13.0738 19.1512 13.0738Z" fill="#B6C4CF"/>
<path d="M17.4656 17.1814C17.3884 17.1814 17.3111 17.1519 17.2522 17.093L16.6626 16.5035C16.5448 16.3856 16.5448 16.1945 16.6626 16.0767C16.7805 15.9588 16.9715 15.9588 17.0894 16.0767L17.679 16.6662C17.7969 16.7841 17.7969 16.9752 17.679 17.093C17.6201 17.152 17.5428 17.1814 17.4656 17.1814Z" fill="#B6C4CF"/>
<path d="M13.3682 18.8934C13.2015 18.8934 13.0664 18.7583 13.0664 18.5916V17.7578C13.0664 17.5912 13.2015 17.4561 13.3682 17.4561C13.5349 17.4561 13.67 17.5912 13.67 17.7578V18.5916C13.67 18.7583 13.5349 18.8934 13.3682 18.8934Z" fill="#B6C4CF"/>
<path d="M9.26075 17.2073C9.18353 17.2073 9.10627 17.1779 9.04738 17.1189C8.92952 17.001 8.92952 16.81 9.04738 16.6921L9.63694 16.1026C9.7548 15.9847 9.94586 15.9847 10.0637 16.1026C10.1816 16.2204 10.1816 16.4115 10.0637 16.5293L9.47416 17.1189C9.41523 17.1778 9.33797 17.2073 9.26075 17.2073Z" fill="#B6C4CF"/>
<path d="M8.38164 13.1114H7.54788C7.38121 13.1114 7.24609 12.9763 7.24609 12.8096C7.24609 12.6429 7.38121 12.5078 7.54788 12.5078H8.38164C8.54831 12.5078 8.68342 12.6429 8.68342 12.8096C8.68342 12.9763 8.54831 13.1114 8.38164 13.1114Z" fill="#B6C4CF"/>
<path d="M9.82297 9.59328C9.74575 9.59328 9.66849 9.56383 9.6096 9.5049L9.02004 8.91534C8.90218 8.79748 8.90218 8.60642 9.02004 8.48856C9.1379 8.3707 9.32896 8.37065 9.44682 8.48856L10.0364 9.07812C10.1542 9.19598 10.1542 9.38704 10.0364 9.5049C9.97745 9.56383 9.90019 9.59328 9.82297 9.59328Z" fill="#B6C4CF"/>
<path d="M13.3282 12.6168C13.149 12.6168 13.0039 12.4717 13.0039 12.2926V10.1121C13.0039 9.93303 13.149 9.78784 13.3282 9.78784C13.5073 9.78784 13.6524 9.93303 13.6524 10.1121V12.2926C13.6524 12.4717 13.5073 12.6168 13.3282 12.6168Z" fill="#678D98"/>
<path d="M16.0561 15.7395C15.9731 15.7395 15.8901 15.7078 15.8268 15.6445L13.4661 13.2838C13.3394 13.1571 13.3394 12.9518 13.4661 12.8252C13.5928 12.6986 13.7981 12.6986 13.9247 12.8252L16.2854 15.1859C16.412 15.3126 16.412 15.5179 16.2854 15.6445C16.2221 15.7078 16.1391 15.7395 16.0561 15.7395Z" fill="#678D98"/>
<path d="M13.3724 13.3816C13.0131 13.3816 12.7207 13.0893 12.7207 12.73C12.7207 12.3707 13.013 12.0784 13.3724 12.0784C13.7316 12.0784 14.024 12.3707 14.024 12.73C14.024 13.0893 13.7316 13.3816 13.3724 13.3816Z" fill="#3E5959"/>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -0,0 +1,14 @@
<svg width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.9996 0.169434C15.5133 0.169434 19.9996 4.6557 19.9996 10.1694C19.9996 15.6832 15.5133 20.1694 9.9996 20.1694C4.48548 20.1694 0 15.6832 0 10.1694C0 4.6557 4.48548 0.169434 9.9996 0.169434Z" fill="#DCF5F8"/>
<path d="M10.0002 17.1381C13.8491 17.1381 16.9692 14.018 16.9692 10.1692C16.9692 6.32031 13.8491 3.2002 10.0002 3.2002C6.15136 3.2002 3.03125 6.32031 3.03125 10.1692C3.03125 14.018 6.15136 17.1381 10.0002 17.1381Z" fill="#A6E7F0"/>
<path d="M9.99894 12.9202C11.5182 12.9202 12.7498 11.6886 12.7498 10.1694C12.7498 8.65008 11.5182 7.41846 9.99894 7.41846C8.47967 7.41846 7.24805 8.65008 7.24805 10.1694C7.24805 11.6886 8.47967 12.9202 9.99894 12.9202Z" fill="#2ED1E2"/>
<path d="M9.99855 11.7261C10.8585 11.7261 11.5557 11.0289 11.5557 10.169C11.5557 9.30897 10.8585 8.61182 9.99855 8.61182C9.13856 8.61182 8.44141 9.30897 8.44141 10.169C8.44141 11.0289 9.13856 11.7261 9.99855 11.7261Z" fill="#02C7DD"/>
<path d="M6.36004 0.85498L7.84432 3.53186C5.72693 4.22108 4.05125 5.89676 3.36203 8.01415L0.685547 6.53027C1.70107 3.93894 3.76871 1.8709 6.36004 0.85498Z" fill="#A6E7F0"/>
<path d="M2.57406 9.29723C2.57406 5.89778 4.09359 2.85365 6.49005 0.805664C2.70227 2.23014 0 5.88999 0 10.1694C0 15.6831 4.48548 20.1694 9.9996 20.1694C10.3326 20.1694 10.6618 20.1527 10.9865 20.1207C6.15137 18.8944 2.57406 14.5137 2.57406 9.29723Z" fill="#A6E7F0"/>
<path d="M7.84362 3.53174L9.99881 7.41833C8.4819 7.41833 7.24792 8.65231 7.24792 10.1692L3.36133 8.01403C4.05054 5.89664 5.72623 4.22095 7.84362 3.53174Z" fill="#6BD9E7"/>
<path d="M6.38611 0.898474L6.36199 0.85498C3.77067 1.8709 1.70302 3.93894 0.6875 6.53027L2.6982 7.64503C3.09542 4.96823 4.44269 2.60194 6.38611 0.898474Z" fill="#6BD9E7"/>
<path d="M8.5957 3.6387C8.5965 3.63851 8.5973 3.63837 8.59809 3.63818C8.5973 3.63837 8.5965 3.63856 8.5957 3.6387Z" fill="#A6E7F0"/>
<path d="M14.2321 5.60636C14.7735 5.60636 15.2123 5.16752 15.2123 4.62618C15.2123 4.08484 14.7735 3.646 14.2321 3.646C13.6908 3.646 13.252 4.08484 13.252 4.62618C13.252 5.16752 13.6908 5.60636 14.2321 5.60636Z" fill="#EE6161"/>
<path d="M7.79097 17.7514C8.22781 17.7514 8.58193 17.3972 8.58193 16.9604C8.58193 16.5236 8.22781 16.1694 7.79097 16.1694C7.35413 16.1694 7 16.5236 7 16.9604C7 17.3972 7.35413 17.7514 7.79097 17.7514Z" fill="#97DA7B"/>
<path d="M15.5 11.0194C12.9318 11.0194 10.85 13.1013 10.85 15.6694C10.85 18.2376 12.9318 20.3194 15.5 20.3194C18.0682 20.3194 20.15 18.2376 20.15 15.6694C20.15 13.1013 18.0682 11.0194 15.5 11.0194ZM11.9594 15.6694C11.9594 14.5299 12.4977 13.5163 13.3344 12.8685L16.6926 19.0039C16.3201 19.1372 15.9187 19.2099 15.5 19.2099C13.5446 19.21 11.9594 17.6248 11.9594 15.6694ZM19.0404 15.6694C19.0404 16.8089 18.5021 17.8226 17.6655 18.4704L14.3073 12.335C14.6798 12.2017 15.0813 12.1289 15.5 12.1289C17.4554 12.1289 19.0404 13.714 19.0404 15.6694Z" fill="#FF5A73" stroke="#FF5A73" stroke-width="0.3"/>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,23 @@
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.9922 20.0771H1.75781C0.788555 20.0771 0 19.2886 0 18.3193V4.17871C0 3.20945 0.788555 2.4209 1.75781 2.4209H11.9922C12.9614 2.4209 13.75 3.20945 13.75 4.17871V18.3193C13.75 19.2886 12.9614 20.0771 11.9922 20.0771Z" fill="#FF5E82"/>
<path d="M11.9922 2.4209H6.875V20.0771H11.9922C12.9614 20.0771 13.75 19.2886 13.75 18.3193V4.17871C13.75 3.20945 12.9614 2.4209 11.9922 2.4209Z" fill="#B7457D"/>
<path d="M1.75781 3.59277C1.43473 3.59277 1.17188 3.85563 1.17188 4.17871V18.3193C1.17188 18.6424 1.43473 18.9053 1.75781 18.9053H11.9922C12.3153 18.9053 12.5781 18.6424 12.5781 18.3193V4.17871C12.5781 3.85563 12.3153 3.59277 11.9922 3.59277H1.75781Z" fill="#F2FAFF"/>
<path d="M11.9922 3.59277H6.875V18.9053H11.9922C12.3153 18.9053 12.5781 18.6424 12.5781 18.3193V4.17871C12.5781 3.85563 12.3153 3.59277 11.9922 3.59277Z" fill="#C8EAFA"/>
<path d="M5.00834 7.97561L5.76592 7.21803C5.99475 6.9892 5.99475 6.61822 5.76592 6.38939C5.53713 6.16057 5.16611 6.16057 4.93728 6.38939L4.17971 7.14697L3.42213 6.38939C3.19334 6.16057 2.82232 6.16057 2.5935 6.38939C2.36467 6.61822 2.36467 6.9892 2.5935 7.21803L3.35107 7.97561L2.5935 8.73318C2.36467 8.96201 2.36467 9.33299 2.5935 9.56182C2.70791 9.67623 2.85787 9.73342 3.00783 9.73342C3.15779 9.73342 3.30775 9.67623 3.42213 9.56178L4.17971 8.80424L4.93728 9.56182C5.05166 9.67623 5.20162 9.73342 5.35158 9.73342C5.50154 9.73342 5.6515 9.67623 5.76588 9.56178C5.99471 9.33295 5.99471 8.96197 5.76588 8.73314L5.00834 7.97561Z" fill="#5E54AC"/>
<path d="M5.00834 11.9756L5.76592 11.218C5.99475 10.9892 5.99475 10.6182 5.76592 10.3894C5.53713 10.1606 5.16611 10.1606 4.93728 10.3894L4.17971 11.147L3.42213 10.3894C3.19334 10.1606 2.82232 10.1606 2.5935 10.3894C2.36467 10.6182 2.36467 10.9892 2.5935 11.218L3.35107 11.9756L2.5935 12.7332C2.36467 12.962 2.36467 13.333 2.5935 13.5618C2.70791 13.6762 2.85787 13.7334 3.00783 13.7334C3.15779 13.7334 3.30775 13.6762 3.42213 13.5618L4.17971 12.8042L4.93728 13.5618C5.05166 13.6762 5.20162 13.7334 5.35158 13.7334C5.50154 13.7334 5.6515 13.6762 5.76588 13.5618C5.99471 13.3329 5.99471 12.962 5.76588 12.7331L5.00834 11.9756Z" fill="#5E54AC"/>
<path d="M5.00834 15.9756L5.76592 15.218C5.99475 14.9892 5.99475 14.6182 5.76592 14.3894C5.53713 14.1606 5.16611 14.1606 4.93728 14.3894L4.17971 15.147L3.42213 14.3894C3.19334 14.1606 2.82232 14.1606 2.5935 14.3894C2.36467 14.6182 2.36467 14.9892 2.5935 15.218L3.35107 15.9756L2.5935 16.7332C2.36467 16.962 2.36467 17.333 2.5935 17.5618C2.70791 17.6762 2.85787 17.7334 3.00783 17.7334C3.15779 17.7334 3.30775 17.6762 3.42213 17.5618L4.17971 16.8042L4.93728 17.5618C5.05166 17.6762 5.20162 17.7334 5.35158 17.7334C5.50154 17.7334 5.6515 17.6762 5.76588 17.5618C5.99471 17.3329 5.99471 16.962 5.76588 16.7331L5.00834 15.9756Z" fill="#5E54AC"/>
<path d="M19.4141 20.0771H15.5078C15.1842 20.0771 14.9219 19.8148 14.9219 19.4912V15.585C14.9219 15.2614 15.1842 14.999 15.5078 14.999H19.4141C19.7377 14.999 20 15.2614 20 15.585V19.4912C20 19.8148 19.7377 20.0771 19.4141 20.0771Z" fill="#F2FAFF"/>
<path d="M19.4141 14.999H17.4609V20.0771H19.4141C19.7377 20.0771 20 19.8148 20 19.4912V15.585C20 15.2614 19.7377 14.999 19.4141 14.999Z" fill="#C8EAFA"/>
<path d="M18.2422 12.6553H16.6797C15.7104 12.6553 14.9219 13.4438 14.9219 14.4131V15.585H20V14.4131C20 13.4438 19.2114 12.6553 18.2422 12.6553Z" fill="#A4E9FF"/>
<path d="M20 14.4131C20 13.4438 19.2114 12.6553 18.2422 12.6553H17.4609V15.585H20V14.4131Z" fill="#91BBFF"/>
<path d="M10 4.76465H3.75C3.42641 4.76465 3.16406 4.5023 3.16406 4.17871V3.39746C3.16406 2.46688 3.8909 1.70289 4.80672 1.6434C5.06109 0.740625 5.89199 0.0771484 6.875 0.0771484C7.85801 0.0771484 8.68891 0.740625 8.94328 1.6434C9.8591 1.70289 10.5859 2.46688 10.5859 3.39746V4.17871C10.5859 4.5023 10.3236 4.76465 10 4.76465Z" fill="#FFE67A"/>
<path d="M8.94328 1.6434C8.68891 0.740625 7.85801 0.0771484 6.875 0.0771484V4.76465H10C10.3236 4.76465 10.5859 4.5023 10.5859 4.17871V3.39746C10.5859 2.46688 9.8591 1.70289 8.94328 1.6434Z" fill="#FFC336"/>
<path d="M7.72045 15.5587C7.52627 15.3645 7.49299 15.0614 7.64045 14.8297L9.57393 11.7914C9.69295 11.6043 9.90991 11.4972 10.1383 11.5241C10.2743 11.5401 10.399 11.6081 10.4959 11.7049L11.5741 12.7831C11.671 12.88 11.7389 13.0047 11.7549 13.1408C11.7818 13.3691 11.6748 13.5861 11.4876 13.7051L8.44928 15.6386C8.21764 15.7861 7.91463 15.7528 7.72045 15.5587Z" fill="#FFD6AA"/>
<path d="M11.5724 12.7832L11.0333 12.2441L7.71875 15.5587C7.91293 15.7529 8.21598 15.7862 8.44766 15.6387L11.486 13.7052C11.6731 13.5862 11.7802 13.3693 11.7533 13.1409C11.7373 13.0048 11.6693 12.8801 11.5724 12.7832Z" fill="#FAC68F"/>
<path d="M18.4926 5.89121L17.3878 4.78637C17.1589 4.55754 16.7879 4.55754 16.5591 4.78637L15.3162 6.02934C15.0873 6.25816 15.0873 6.62914 15.3162 6.85797L16.421 7.96281C16.6498 8.19164 17.0208 8.19164 17.2496 7.96281L18.4926 6.71984C18.7214 6.49105 18.7214 6.12004 18.4926 5.89121Z" fill="#F2FAFF"/>
<path d="M17.9407 5.33887L15.8691 7.41047L16.4216 7.96289C16.6504 8.19172 17.0214 8.19172 17.2502 7.96289L18.4932 6.71992C18.722 6.49109 18.722 6.12012 18.4932 5.89129L17.9407 5.33887Z" fill="#C8EAFA"/>
<path d="M19.5969 3.68168C19.063 3.14777 18.1973 3.14777 17.6634 3.68168L16.5586 4.78652L18.4921 6.72L19.5969 5.61516C20.1308 5.08125 20.1308 4.21559 19.5969 3.68168Z" fill="#FF5E82"/>
<path d="M19.5989 3.68164L17.5273 5.75324L18.4941 6.72L19.5989 5.61516C20.1329 5.08121 20.1329 4.21555 19.5989 3.68164Z" fill="#B7457D"/>
<path d="M9.65234 11.6919L15.3139 6.03037L17.2471 7.96357L11.5855 13.6251L9.65234 11.6919Z" fill="#BC8173"/>
<path d="M10.6191 12.6587L16.2807 6.99717L17.2473 7.96377L11.5857 13.6253L10.6191 12.6587Z" fill="#9D5E4A"/>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,23 @@
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.9922 20.0464H1.75781C0.788555 20.0464 0 19.2578 0 18.2886V4.14795C0 3.17869 0.788555 2.39014 1.75781 2.39014H11.9922C12.9614 2.39014 13.75 3.17869 13.75 4.14795V18.2886C13.75 19.2578 12.9614 20.0464 11.9922 20.0464Z" fill="#FF5E82"/>
<path d="M11.9922 2.39014H6.875V20.0464H11.9922C12.9614 20.0464 13.75 19.2578 13.75 18.2886V4.14795C13.75 3.17869 12.9614 2.39014 11.9922 2.39014Z" fill="#B7457D"/>
<path d="M1.75781 3.56201C1.43473 3.56201 1.17188 3.82486 1.17188 4.14795V18.2886C1.17188 18.6117 1.43473 18.8745 1.75781 18.8745H11.9922C12.3153 18.8745 12.5781 18.6117 12.5781 18.2886V4.14795C12.5781 3.82486 12.3153 3.56201 11.9922 3.56201H1.75781Z" fill="#F2FAFF"/>
<path d="M11.9922 3.56201H6.875V18.8745H11.9922C12.3153 18.8745 12.5781 18.6117 12.5781 18.2886V4.14795C12.5781 3.82486 12.3153 3.56201 11.9922 3.56201Z" fill="#C8EAFA"/>
<path d="M4.01889 9.36547C3.86893 9.36547 3.71896 9.30828 3.60459 9.19383L2.49975 8.08898C2.27092 7.86016 2.27092 7.48918 2.49975 7.26035C2.72854 7.03152 3.09955 7.03152 3.32838 7.26035L4.01893 7.9509L5.81436 6.15551C6.04318 5.92668 6.4142 5.92668 6.64299 6.15551C6.87182 6.38434 6.87182 6.75531 6.64299 6.98414L4.43326 9.19383C4.31881 9.30828 4.16881 9.36547 4.01889 9.36547Z" fill="#5E54AC"/>
<path d="M4.01889 13.2107C3.86893 13.2107 3.71896 13.1535 3.60459 13.039L2.49975 11.9342C2.27092 11.7054 2.27092 11.3344 2.49975 11.1056C2.72854 10.8767 3.09955 10.8767 3.32838 11.1056L4.01893 11.7961L5.81436 10.0007C6.04318 9.77189 6.4142 9.77189 6.64299 10.0007C6.87182 10.2296 6.87182 10.6005 6.64299 10.8294L4.43326 13.039C4.31881 13.1535 4.16881 13.2107 4.01889 13.2107Z" fill="#5E54AC"/>
<path d="M4.01889 17.2107C3.86893 17.2107 3.71896 17.1535 3.60459 17.039L2.49975 15.9342C2.27092 15.7054 2.27092 15.3344 2.49975 15.1056C2.72854 14.8767 3.09955 14.8767 3.32838 15.1056L4.01893 15.7961L5.81436 14.0007C6.04318 13.7719 6.4142 13.7719 6.64299 14.0007C6.87182 14.2296 6.87182 14.6005 6.64299 14.8294L4.43326 17.039C4.31881 17.1535 4.16881 17.2107 4.01889 17.2107Z" fill="#5E54AC"/>
<path d="M19.4141 20.0464H15.5078C15.1842 20.0464 14.9219 19.784 14.9219 19.4604V15.5542C14.9219 15.2306 15.1842 14.9683 15.5078 14.9683H19.4141C19.7377 14.9683 20 15.2306 20 15.5542V19.4604C20 19.784 19.7377 20.0464 19.4141 20.0464Z" fill="#F2FAFF"/>
<path d="M19.4141 14.9683H17.4609V20.0464H19.4141C19.7377 20.0464 20 19.784 20 19.4604V15.5542C20 15.2306 19.7377 14.9683 19.4141 14.9683Z" fill="#C8EAFA"/>
<path d="M18.2422 12.6245H16.6797C15.7104 12.6245 14.9219 13.4131 14.9219 14.3823V15.5542H20V14.3823C20 13.4131 19.2114 12.6245 18.2422 12.6245Z" fill="#A4E9FF"/>
<path d="M20 14.3823C20 13.4131 19.2114 12.6245 18.2422 12.6245H17.4609V15.5542H20V14.3823Z" fill="#91BBFF"/>
<path d="M10 4.73389H3.75C3.42641 4.73389 3.16406 4.47154 3.16406 4.14795V3.3667C3.16406 2.43611 3.8909 1.67213 4.80672 1.61264C5.06109 0.709863 5.89199 0.0463867 6.875 0.0463867C7.85801 0.0463867 8.68891 0.709863 8.94328 1.61264C9.8591 1.67213 10.5859 2.43611 10.5859 3.3667V4.14795C10.5859 4.47154 10.3236 4.73389 10 4.73389Z" fill="#FFE67A"/>
<path d="M8.94328 1.61264C8.68891 0.709863 7.85801 0.0463867 6.875 0.0463867V4.73389H10C10.3236 4.73389 10.5859 4.47154 10.5859 4.14795V3.3667C10.5859 2.43611 9.8591 1.67213 8.94328 1.61264Z" fill="#FFC336"/>
<path d="M7.72045 15.5279C7.52627 15.3337 7.49299 15.0307 7.64045 14.799L9.57393 11.7606C9.69295 11.5736 9.90991 11.4665 10.1383 11.4934C10.2743 11.5094 10.399 11.5773 10.4959 11.6742L11.5741 12.7524C11.671 12.8493 11.7389 12.9739 11.7549 13.11C11.7818 13.3384 11.6748 13.5553 11.4876 13.6743L8.44928 15.6078C8.21764 15.7554 7.91463 15.7221 7.72045 15.5279Z" fill="#FFD6AA"/>
<path d="M11.5724 12.7525L11.0333 12.2134L7.71875 15.5279C7.91293 15.7221 8.21598 15.7554 8.44766 15.6079L11.486 13.6745C11.6731 13.5554 11.7802 13.3385 11.7533 13.1101C11.7373 12.974 11.6693 12.8494 11.5724 12.7525Z" fill="#FAC68F"/>
<path d="M18.4926 5.86045L17.3878 4.75561C17.1589 4.52678 16.7879 4.52678 16.5591 4.75561L15.3162 5.99857C15.0873 6.2274 15.0873 6.59838 15.3162 6.82721L16.421 7.93205C16.6498 8.16088 17.0208 8.16088 17.2496 7.93205L18.4926 6.68908C18.7214 6.46029 18.7214 6.08928 18.4926 5.86045Z" fill="#F2FAFF"/>
<path d="M17.9407 5.30811L15.8691 7.37971L16.4216 7.93213C16.6504 8.16096 17.0214 8.16096 17.2502 7.93213L18.4932 6.68916C18.722 6.46033 18.722 6.08936 18.4932 5.86053L17.9407 5.30811Z" fill="#C8EAFA"/>
<path d="M19.5969 3.65092C19.063 3.11701 18.1973 3.11701 17.6634 3.65092L16.5586 4.75576L18.4921 6.68924L19.5969 5.58439C20.1308 5.05049 20.1308 4.18482 19.5969 3.65092Z" fill="#FF5E82"/>
<path d="M19.5989 3.65088L17.5273 5.72248L18.4941 6.68924L19.5989 5.58439C20.1329 5.05045 20.1329 4.18479 19.5989 3.65088Z" fill="#B7457D"/>
<path d="M9.65234 11.6611L15.3139 5.99961L17.2471 7.93281L11.5855 13.5943L9.65234 11.6611Z" fill="#BC8173"/>
<path d="M10.6191 12.6279L16.2807 6.96641L17.2473 7.93301L11.5857 13.5945L10.6191 12.6279Z" fill="#9D5E4A"/>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -0,0 +1,41 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11.9922 20.1079H1.75781C0.788555 20.1079 0 19.3194 0 18.3501V4.20947C0 3.24021 0.788555 2.45166 1.75781 2.45166H11.9922C12.9614 2.45166 13.75 3.24021 13.75 4.20947V18.3501C13.75 19.3194 12.9614 20.1079 11.9922 20.1079Z" fill="#FF5E82"/>
<path d="M11.9922 2.45166H6.875V20.1079H11.9922C12.9614 20.1079 13.75 19.3194 13.75 18.3501V4.20947C13.75 3.24021 12.9614 2.45166 11.9922 2.45166Z" fill="#B7457D"/>
<path d="M1.75781 3.62354C1.43473 3.62354 1.17188 3.88639 1.17188 4.20947V18.3501C1.17188 18.6732 1.43473 18.936 1.75781 18.936H11.9922C12.3153 18.936 12.5781 18.6732 12.5781 18.3501V4.20947C12.5781 3.88639 12.3153 3.62354 11.9922 3.62354H1.75781Z" fill="#F2FAFF"/>
<path d="M11.9922 3.62354H6.875V18.936H11.9922C12.3153 18.936 12.5781 18.6732 12.5781 18.3501V4.20947C12.5781 3.88639 12.3153 3.62354 11.9922 3.62354Z" fill="#C8EAFA"/>
<path d="M12.4999 20.1083C14.9852 20.1083 16.9999 18.0936 16.9999 15.6083C16.9999 13.1231 14.9852 11.1084 12.4999 11.1084C10.0147 11.1084 8 13.1231 8 15.6083C8 18.0936 10.0147 20.1083 12.4999 20.1083Z" fill="#F07281"/>
<path d="M12.69 20.1039C12.6271 20.1065 12.5636 20.1078 12.5 20.1078C10.0148 20.1078 8 18.0931 8 15.6079C8 13.1227 10.0148 11.1079 12.5 11.1079C12.5636 11.1079 12.6271 11.1092 12.69 11.1119C10.293 11.2115 8.38013 13.1863 8.38013 15.6079C8.38013 18.0294 10.293 20.0043 12.69 20.1039Z" fill="#EB5569"/>
<path d="M12.4994 19.5174C14.6586 19.5174 16.409 17.767 16.409 15.6078C16.409 13.4486 14.6586 11.6982 12.4994 11.6982C10.3402 11.6982 8.58984 13.4486 8.58984 15.6078C8.58984 17.767 10.3402 19.5174 12.4994 19.5174Z" fill="#EAF6FF"/>
<path d="M12.7846 19.5072C12.6905 19.514 12.5952 19.5175 12.4994 19.5175C10.3402 19.5175 8.58984 17.7671 8.58984 15.6078C8.58984 13.4486 10.3402 11.6982 12.4995 11.6982C12.5953 11.6982 12.6905 11.7017 12.7846 11.7085C10.7584 11.8545 9.16007 13.5444 9.16007 15.6078C9.16007 17.6713 10.7584 19.3612 12.7846 19.5072Z" fill="#D8ECFE"/>
<path d="M12.2539 13.3321L12.4284 13.2198C12.471 13.1924 12.5257 13.1924 12.5682 13.2198L12.7428 13.3321C12.7744 13.3525 12.7935 13.3876 12.7935 13.4252V15.6605H12.2031V13.4252C12.2031 13.3876 12.2222 13.3525 12.2539 13.3321Z" fill="#5680A6"/>
<path d="M12.6884 13.2972L12.5833 13.3648V15.6605H12.2031V13.4353C12.2031 13.3914 12.2254 13.3504 12.2624 13.3267L12.4284 13.2198C12.471 13.1924 12.5256 13.1924 12.5682 13.2198L12.6884 13.2972Z" fill="#497090"/>
<path d="M14.3445 15.6776L14.2376 15.8436C14.2138 15.8806 14.1729 15.9029 14.129 15.9029H12.5V15.3125H14.129C14.1729 15.3125 14.2138 15.3348 14.2376 15.3717L14.3445 15.5378C14.3719 15.5803 14.3719 15.635 14.3445 15.6776Z" fill="#5680A6"/>
<path d="M13.2936 15.6077C13.2936 15.712 13.2734 15.8116 13.2365 15.9029H12.5V15.3125H13.2365C13.2734 15.4037 13.2936 15.5033 13.2936 15.6077Z" fill="#497090"/>
<path d="M12.4993 16.0211C12.7277 16.0211 12.9127 15.8361 12.9127 15.6077C12.9127 15.3794 12.7277 15.1943 12.4993 15.1943C12.271 15.1943 12.0859 15.3794 12.0859 15.6077C12.0859 15.8361 12.271 16.0211 12.4993 16.0211Z" fill="#F07281"/>
<path d="M12.6894 15.9748C12.6326 16.0044 12.568 16.0211 12.4993 16.0211C12.2711 16.0211 12.0859 15.836 12.0859 15.6077C12.0859 15.3795 12.2711 15.1943 12.4993 15.1943C12.568 15.1943 12.6326 15.2111 12.6894 15.2407C12.5567 15.3093 12.4661 15.4481 12.4661 15.6078C12.4661 15.7674 12.5567 15.9061 12.6894 15.9748Z" fill="#EB5569"/>
<path d="M12.5019 12.7788C12.4232 12.7788 12.3594 12.715 12.3594 12.6363V12.268C12.3594 12.1893 12.4232 12.1255 12.5019 12.1255C12.5807 12.1255 12.6445 12.1893 12.6445 12.268V12.6363C12.6445 12.715 12.5807 12.7788 12.5019 12.7788Z" fill="#88B4F5"/>
<path d="M12.5019 19.0894C12.4232 19.0894 12.3594 19.0255 12.3594 18.9468V18.5786C12.3594 18.4999 12.4232 18.436 12.5019 18.436C12.5807 18.436 12.6445 18.4999 12.6445 18.5786V18.9468C12.6445 19.0255 12.5807 19.0894 12.5019 19.0894Z" fill="#88B4F5"/>
<path d="M9.52445 15.7504H9.15622C9.07749 15.7504 9.01367 15.6866 9.01367 15.6079C9.01367 15.5292 9.07749 15.4653 9.15622 15.4653H9.52445C9.60318 15.4653 9.667 15.5292 9.667 15.6079C9.667 15.6866 9.60318 15.7504 9.52445 15.7504Z" fill="#88B4F5"/>
<path d="M15.835 15.7504H15.4668C15.388 15.7504 15.3242 15.6866 15.3242 15.6079C15.3242 15.5292 15.388 15.4653 15.4668 15.4653H15.835C15.9137 15.4653 15.9775 15.5292 15.9775 15.6079C15.9775 15.6866 15.9137 15.7504 15.835 15.7504Z" fill="#88B4F5"/>
<path d="M9.60755 17.4199C9.55829 17.4199 9.51037 17.3944 9.48397 17.3486C9.4446 17.2805 9.46796 17.1933 9.53615 17.1539L9.85505 16.9698C9.92318 16.9305 10.0104 16.9538 10.0498 17.022C10.0891 17.0901 10.0658 17.1773 9.99759 17.2167L9.6787 17.4008C9.65626 17.4138 9.63174 17.4199 9.60755 17.4199Z" fill="#88B4F5"/>
<path d="M15.0724 14.2647C15.0231 14.2647 14.9752 14.2391 14.9488 14.1934C14.9094 14.1252 14.9328 14.038 15.001 13.9986L15.3199 13.8145C15.388 13.7752 15.4752 13.7985 15.5146 13.8667C15.554 13.9349 15.5306 14.0221 15.4624 14.0614L15.1435 14.2456C15.1211 14.2585 15.0966 14.2647 15.0724 14.2647Z" fill="#88B4F5"/>
<path d="M9.92619 14.2647C9.902 14.2647 9.8775 14.2585 9.85505 14.2456L9.53615 14.0614C9.46796 14.0221 9.4446 13.9349 9.48397 13.8667C9.52333 13.7985 9.6105 13.7752 9.6787 13.8145L9.99759 13.9987C10.0658 14.038 10.0891 14.1252 10.0498 14.1934C10.0234 14.2391 9.97545 14.2647 9.92619 14.2647Z" fill="#88B4F5"/>
<path d="M10.8319 18.6422C10.8077 18.6422 10.7832 18.636 10.7608 18.623C10.6926 18.5836 10.6692 18.4965 10.7086 18.4283L10.8927 18.1094C10.9321 18.0412 11.0192 18.0178 11.0874 18.0572C11.1556 18.0966 11.179 18.1838 11.1396 18.2519L10.9555 18.5708C10.9291 18.6166 10.8812 18.6422 10.8319 18.6422Z" fill="#88B4F5"/>
<path d="M13.9862 13.1773C13.962 13.1773 13.9375 13.1711 13.9151 13.1582C13.8469 13.1188 13.8235 13.0316 13.8629 12.9634L14.047 12.6445C14.0863 12.5764 14.1735 12.553 14.2417 12.5924C14.3099 12.6317 14.3333 12.7189 14.2939 12.7871L14.1098 13.106C14.0834 13.1517 14.0355 13.1773 13.9862 13.1773Z" fill="#88B4F5"/>
<path d="M11.0163 13.1778C10.967 13.1778 10.9191 13.1522 10.8927 13.1065L10.7086 12.7876C10.6692 12.7194 10.6926 12.6322 10.7608 12.5929C10.8289 12.5535 10.9161 12.5768 10.9555 12.645L11.1396 12.9639C11.179 13.0321 11.1556 13.1193 11.0874 13.1587C11.065 13.1716 11.0405 13.1778 11.0163 13.1778Z" fill="#88B4F5"/>
<path d="M15.3252 15.6128C15.3252 15.534 15.389 15.4702 15.4677 15.4702L15.836 15.4702C15.9147 15.4702 15.9785 15.534 15.9785 15.6128C15.9785 15.6915 15.9147 15.7553 15.836 15.7553L15.4677 15.7553C15.389 15.7553 15.3252 15.6915 15.3252 15.6128Z" fill="#88B4F5"/>
<path d="M9.01464 15.6128C9.01464 15.534 9.07846 15.4702 9.15719 15.4702L9.52542 15.4702C9.60415 15.4702 9.66797 15.534 9.66797 15.6128C9.66797 15.6915 9.60415 15.7553 9.52542 15.7553L9.15719 15.7553C9.07848 15.7553 9.01464 15.6915 9.01464 15.6128Z" fill="#88B4F5"/>
<path d="M12.3536 12.6363L12.3536 12.268C12.3536 12.1893 12.4174 12.1255 12.4961 12.1255C12.5749 12.1255 12.6387 12.1893 12.6387 12.268L12.6387 12.6363C12.6387 12.715 12.5749 12.7788 12.4961 12.7788C12.4174 12.7788 12.3536 12.715 12.3536 12.6363Z" fill="#88B4F5"/>
<path d="M12.3536 18.9468L12.3536 18.5786C12.3536 18.4998 12.4174 18.436 12.4961 18.436C12.5749 18.436 12.6387 18.4999 12.6387 18.5786L12.6387 18.9468C12.6387 19.0256 12.5749 19.0894 12.4961 19.0894C12.4174 19.0894 12.3536 19.0255 12.3536 18.9468Z" fill="#88B4F5"/>
<path d="M10.6831 12.7184C10.6831 12.6691 10.7087 12.6212 10.7544 12.5948C10.8226 12.5554 10.9098 12.5788 10.9491 12.647L11.1332 12.9659C11.1726 13.034 11.1492 13.1212 11.0811 13.1606C11.0129 13.2 10.9257 13.1766 10.8863 13.1084L10.7022 12.7895C10.6892 12.7671 10.6831 12.7426 10.6831 12.7184Z" fill="#88B4F5"/>
<path d="M13.8393 18.1832C13.8393 18.134 13.8649 18.0861 13.9106 18.0597C13.9788 18.0203 14.066 18.0437 14.1054 18.1118L14.2895 18.4307C14.3288 18.4989 14.3055 18.5861 14.2373 18.6255C14.1691 18.6648 14.0819 18.6414 14.0426 18.5733L13.8585 18.2544C13.8455 18.2319 13.8393 18.2074 13.8393 18.1832Z" fill="#88B4F5"/>
<path d="M13.8393 13.037C13.8393 13.0128 13.8455 12.9883 13.8584 12.9659L14.0426 12.647C14.0819 12.5788 14.1691 12.5554 14.2373 12.5948C14.3055 12.6342 14.3288 12.7213 14.2895 12.7895L14.1053 13.1084C14.066 13.1766 13.9788 13.2 13.9106 13.1606C13.8649 13.1342 13.8393 13.0863 13.8393 13.037Z" fill="#88B4F5"/>
<path d="M9.46038 13.9437C9.46038 13.9195 9.46655 13.895 9.47952 13.8726C9.51889 13.8044 9.60607 13.781 9.67424 13.8204L9.99314 14.0045C10.0613 14.0439 10.0847 14.1311 10.0453 14.1992C10.0059 14.2674 9.91877 14.2908 9.85059 14.2514L9.53169 14.0673C9.48596 14.0409 9.46038 13.993 9.46038 13.9437Z" fill="#88B4F5"/>
<path d="M14.9252 17.099C14.9252 17.0748 14.9314 17.0503 14.9444 17.0278C14.9837 16.9597 15.0709 16.9363 15.1391 16.9757L15.458 17.1598C15.5262 17.1991 15.5495 17.2863 15.5102 17.3545C15.4708 17.4227 15.3836 17.4461 15.3154 17.4067L14.9965 17.2226C14.9508 17.1962 14.9252 17.1483 14.9252 17.099Z" fill="#88B4F5"/>
<path d="M14.9252 14.1281C14.9252 14.0788 14.9508 14.0309 14.9965 14.0045L15.3154 13.8204C15.3836 13.781 15.4708 13.8044 15.5102 13.8726C15.5495 13.9407 15.5262 14.0279 15.458 14.0673L15.1391 14.2514C15.0709 14.2908 14.9837 14.2674 14.9444 14.1992C14.9314 14.1768 14.9252 14.1523 14.9252 14.1281Z" fill="#88B4F5"/>
<path d="M4.01889 9.27221C3.86893 9.27221 3.71896 9.21502 3.60459 9.10057L2.49975 7.99572C2.27092 7.76689 2.27092 7.39592 2.49975 7.16709C2.72854 6.93826 3.09955 6.93826 3.32838 7.16709L4.01893 7.85764L5.81436 6.06225C6.04318 5.83342 6.4142 5.83342 6.64299 6.06225C6.87182 6.29107 6.87182 6.66205 6.64299 6.89088L4.43326 9.10057C4.31881 9.21498 4.16881 9.27221 4.01889 9.27221Z" fill="#5E54AC"/>
<path d="M5.00834 12.0069L5.76592 11.2493C5.99475 11.0204 5.99475 10.6495 5.76592 10.4206C5.53713 10.1918 5.16611 10.1918 4.93728 10.4206L4.17971 11.1782L3.42213 10.4206C3.19334 10.1918 2.82232 10.1918 2.5935 10.4206C2.36467 10.6495 2.36467 11.0204 2.5935 11.2493L3.35107 12.0069L2.5935 12.7644C2.36467 12.9933 2.36467 13.3642 2.5935 13.5931C2.70791 13.7075 2.85787 13.7647 3.00783 13.7647C3.15779 13.7647 3.30775 13.7075 3.42213 13.593L4.17971 12.8355L4.93728 13.5931C5.05166 13.7075 5.20162 13.7647 5.35158 13.7647C5.50154 13.7647 5.6515 13.7075 5.76588 13.593C5.99471 13.3642 5.99471 12.9932 5.76588 12.7644L5.00834 12.0069Z" fill="#5E54AC"/>
<path d="M5.00834 16.0069L5.76592 15.2493C5.99475 15.0204 5.99475 14.6495 5.76592 14.4206C5.53713 14.1918 5.16611 14.1918 4.93728 14.4206L4.17971 15.1782L3.42213 14.4206C3.19334 14.1918 2.82232 14.1918 2.5935 14.4206C2.36467 14.6495 2.36467 15.0204 2.5935 15.2493L3.35107 16.0069L2.5935 16.7644C2.36467 16.9933 2.36467 17.3642 2.5935 17.5931C2.70791 17.7075 2.85787 17.7647 3.00783 17.7647C3.15779 17.7647 3.30775 17.7075 3.42213 17.593L4.17971 16.8355L4.93728 17.5931C5.05166 17.7075 5.20162 17.7647 5.35158 17.7647C5.50154 17.7647 5.6515 17.7075 5.76588 17.593C5.99471 17.3642 5.99471 16.9932 5.76588 16.7644L5.00834 16.0069Z" fill="#5E54AC"/>
<path d="M10 4.79541H3.75C3.42641 4.79541 3.16406 4.53307 3.16406 4.20947V3.42822C3.16406 2.49764 3.8909 1.73365 4.80672 1.67416C5.06109 0.771387 5.89199 0.10791 6.875 0.10791C7.85801 0.10791 8.68891 0.771387 8.94328 1.67416C9.8591 1.73365 10.5859 2.49764 10.5859 3.42822V4.20947C10.5859 4.53307 10.3236 4.79541 10 4.79541Z" fill="#FFE67A"/>
<path d="M8.94328 1.67416C8.68891 0.771387 7.85801 0.10791 6.875 0.10791V4.79541H10C10.3236 4.79541 10.5859 4.53307 10.5859 4.20947V3.42822C10.5859 2.49764 9.8591 1.73365 8.94328 1.67416Z" fill="#FFC336"/>
</svg>

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.72751C16.7022 7.47106 16.444 7.24286 16.1963 7.34188L15.166 7.75403C16.1394 3.617 13.6255 1.13192 12.3309 0.160156L11.9303 0.68629C12.295 4.20985 10.8697 6.77552 10.8697 6.77552L9.6861 6.06286C7.63047 8.86439 7.26813 11.637 7.26813 11.637L6.22457 10.9497L5.84278 15.599L4.19531 17.1113C4.19531 17.1113 9.12215 19.2668 13.862 14.8542C14.0281 14.6996 13.9924 14.4272 13.7895 14.3258L12.2619 13.562C13.7729 12.6635 15.8697 10.3879 16.629 7.72751Z" fill="#1479FF"/>
<path d="M6.94955 12.0658C7.20748 12.3235 7.64893 12.1695 7.69061 11.8073L7.74029 11.3759C7.74315 11.3515 8.03272 8.98838 9.75631 6.48396L10.3884 7.11599C10.5932 7.32076 10.9371 7.27255 11.0777 7.01939L11.2124 6.77685C11.2795 6.65646 12.7674 3.91306 12.3306 0.160279C12.2926 0.131763 12.2554 0.104185 12.2196 0.0782866C11.9917 -0.0867917 11.68 0.0943414 11.709 0.374303C12.0737 3.89786 10.6483 6.46353 10.6483 6.46353L9.94327 5.75849C9.80448 5.6197 9.57174 5.63474 9.45561 5.79298C7.40002 8.59451 7.099 11.3035 7.099 11.3035L6.50061 10.7051C6.32693 10.5315 6.03064 10.6084 5.96029 10.8437C5.23283 13.2767 5.71564 15.7659 5.71564 15.7659L5.71514 15.7664L6.34936 15.6438C6.34525 15.6222 5.97377 13.6265 6.44041 11.5575L6.94955 12.0658Z" fill="#D5EAFF"/>
<path d="M13.2564 6.00624C13.3141 5.83764 13.224 5.65428 13.0554 5.59659C12.8865 5.5394 12.7031 5.62905 12.6457 5.7976C11.8359 8.16772 10.4981 10.2792 8.9927 12.0909C8.98586 10.3632 9.52113 9.3046 9.5316 9.28437C9.61414 9.12683 9.55367 8.93194 9.39641 8.8489C9.23793 8.76601 9.04348 8.82636 8.96031 8.98394C8.92824 9.04499 8.19051 10.4827 8.37992 12.7999C4.65574 16.9746 0.236005 19.3733 0.170849 19.408C0.0136223 19.492 -0.0459481 19.6873 0.0381926 19.8446C0.0961615 19.9534 0.207724 20.0154 0.323037 20.0154C0.374404 20.0154 0.426084 20.0032 0.474599 19.9774C0.530303 19.9477 3.69996 18.2289 6.9675 15.1631C7.06207 15.1709 7.47437 15.2031 7.91512 15.2031C8.76023 15.2031 10.083 15.1232 11.1436 14.6989C11.3091 14.6326 11.3897 14.4449 11.3236 14.2793C11.2574 14.1139 11.068 14.034 10.9041 14.0996C9.80613 14.5389 8.34164 14.5695 7.6 14.552C9.86817 12.3043 12.09 9.41976 13.2564 6.00624Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.75827C16.7022 7.50183 16.444 7.27362 16.1963 7.37265L15.166 7.78479C16.1394 3.64776 13.6255 1.16268 12.3309 0.190918L11.9303 0.717051C12.295 4.24061 10.8697 6.80628 10.8697 6.80628L9.6861 6.09362C7.63047 8.89515 7.26813 11.6677 7.26813 11.6677L6.22457 10.9805L5.84278 15.6298L4.19531 17.1421C4.19531 17.1421 9.12215 19.2976 13.862 14.8849C14.0281 14.7303 13.9924 14.458 13.7895 14.3565L12.2619 13.5927C13.7729 12.6943 15.8697 10.4187 16.629 7.75827Z" fill="#3C90FF"/>
<path d="M6.94955 12.0966C7.20748 12.3542 7.64893 12.2002 7.69061 11.838L7.74029 11.4067C7.74315 11.3823 8.03272 9.01914 9.75631 6.51472L10.3884 7.14675C10.5932 7.35152 10.9371 7.30332 11.0777 7.05015L11.2124 6.80761C11.2795 6.68722 12.7674 3.94382 12.3306 0.191041C12.2926 0.162525 12.2554 0.134947 12.2196 0.109048C11.9917 -0.05603 11.68 0.125103 11.709 0.405064C12.0737 3.92862 10.6483 6.49429 10.6483 6.49429L9.94327 5.78925C9.80448 5.65046 9.57174 5.6655 9.45561 5.82374C7.40002 8.62527 7.099 11.3343 7.099 11.3343L6.50061 10.7359C6.32693 10.5622 6.03064 10.6391 5.96029 10.8745C5.23283 13.3075 5.71564 15.7967 5.71564 15.7967L5.71514 15.7971L6.34936 15.6745C6.34525 15.6529 5.97377 13.6573 6.44041 11.5883L6.94955 12.0966Z" fill="#D5EAFF"/>
<path d="M13.2564 6.037C13.3141 5.86841 13.224 5.68505 13.0554 5.62735C12.8865 5.57016 12.7031 5.65981 12.6457 5.82837C11.8359 8.19849 10.4981 10.3099 8.9927 12.1216C8.98586 10.394 9.52113 9.33536 9.5316 9.31513C9.61414 9.15759 9.55367 8.96271 9.39641 8.87966C9.23793 8.79677 9.04348 8.85712 8.96031 9.0147C8.92824 9.07575 8.19051 10.5135 8.37992 12.8306C4.65574 17.0054 0.236005 19.404 0.170849 19.4388C0.0136223 19.5228 -0.0459481 19.7181 0.0381926 19.8753C0.0961615 19.9842 0.207724 20.0461 0.323037 20.0461C0.374404 20.0461 0.426084 20.034 0.474599 20.0081C0.530303 19.9785 3.69996 18.2597 6.9675 15.1939C7.06207 15.2017 7.47437 15.2338 7.91512 15.2338C8.76023 15.2338 10.083 15.154 11.1436 14.7297C11.3091 14.6633 11.3897 14.4757 11.3236 14.3101C11.2574 14.1447 11.068 14.0648 10.9041 14.1303C9.80613 14.5696 8.34164 14.6003 7.6 14.5828C9.86817 12.335 12.09 9.45052 13.2564 6.037Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.78903C16.7022 7.53259 16.444 7.30438 16.1963 7.40341L15.166 7.81556C16.1394 3.67852 13.6255 1.19344 12.3309 0.22168L11.9303 0.747813C12.295 4.27137 10.8697 6.83704 10.8697 6.83704L9.6861 6.12438C7.63047 8.92591 7.26813 11.6985 7.26813 11.6985L6.22457 11.0113L5.84278 15.6606L4.19531 17.1728C4.19531 17.1728 9.12215 19.3283 13.862 14.9157C14.0281 14.7611 13.9924 14.4887 13.7895 14.3873L12.2619 13.6235C13.7729 12.725 15.8697 10.4494 16.629 7.78903Z" fill="#59A0FF"/>
<path d="M6.94955 12.1274C7.20748 12.385 7.64893 12.231 7.69061 11.8688L7.74029 11.4374C7.74315 11.413 8.03272 9.0499 9.75631 6.54548L10.3884 7.17751C10.5932 7.38228 10.9371 7.33408 11.0777 7.08091L11.2124 6.83837C11.2795 6.71798 12.7674 3.97458 12.3306 0.221802C12.2926 0.193287 12.2554 0.165709 12.2196 0.13981C11.9917 -0.0252682 11.68 0.155865 11.709 0.435826C12.0737 3.95939 10.6483 6.52505 10.6483 6.52505L9.94327 5.82001C9.80448 5.68122 9.57174 5.69626 9.45561 5.8545C7.40002 8.65603 7.099 11.3651 7.099 11.3651L6.50061 10.7667C6.32693 10.593 6.03064 10.6699 5.96029 10.9052C5.23283 13.3383 5.71564 15.8274 5.71564 15.8274L5.71514 15.8279L6.34936 15.7053C6.34525 15.6837 5.97377 13.688 6.44041 11.619L6.94955 12.1274Z" fill="#D5EAFF"/>
<path d="M13.2564 6.06776C13.3141 5.89917 13.224 5.71581 13.0554 5.65811C12.8865 5.60092 12.7031 5.69057 12.6457 5.85913C11.8359 8.22925 10.4981 10.3407 8.9927 12.1524C8.98586 10.4247 9.52113 9.36612 9.5316 9.34589C9.61414 9.18835 9.55367 8.99347 9.39641 8.91042C9.23793 8.82753 9.04348 8.88788 8.96031 9.04546C8.92824 9.10651 8.19051 10.5442 8.37992 12.8614C4.65574 17.0362 0.236005 19.4348 0.170849 19.4695C0.0136223 19.5535 -0.0459481 19.7489 0.0381926 19.9061C0.0961615 20.015 0.207724 20.0769 0.323037 20.0769C0.374404 20.0769 0.426084 20.0647 0.474599 20.0389C0.530303 20.0093 3.69996 18.2904 6.9675 15.2246C7.06207 15.2324 7.47437 15.2646 7.91512 15.2646C8.76023 15.2646 10.083 15.1847 11.1436 14.7604C11.3091 14.6941 11.3897 14.5064 11.3236 14.3409C11.2574 14.1754 11.068 14.0955 10.9041 14.1611C9.80613 14.6004 8.34164 14.6311 7.6 14.6136C9.86817 12.3658 12.09 9.48128 13.2564 6.06776Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.81979C16.7022 7.56335 16.444 7.33515 16.1963 7.43417L15.166 7.84632C16.1394 3.70928 13.6255 1.2242 12.3309 0.252441L11.9303 0.778575C12.295 4.30213 10.8697 6.8678 10.8697 6.8678L9.6861 6.15514C7.63047 8.95667 7.26813 11.7293 7.26813 11.7293L6.22457 11.042L5.84278 15.6913L4.19531 17.2036C4.19531 17.2036 9.12215 19.3591 13.862 14.9464C14.0281 14.7919 13.9924 14.5195 13.7895 14.418L12.2619 13.6543C13.7729 12.7558 15.8697 10.4802 16.629 7.81979Z" fill="#6AAAFF"/>
<path d="M6.94955 12.1581C7.20748 12.4157 7.64893 12.2618 7.69061 11.8996L7.74029 11.4682C7.74315 11.4438 8.03272 9.08066 9.75631 6.57624L10.3884 7.20828C10.5932 7.41304 10.9371 7.36484 11.0777 7.11167L11.2124 6.86913C11.2795 6.74874 12.7674 4.00534 12.3306 0.252564C12.2926 0.224048 12.2554 0.19647 12.2196 0.170572C11.9917 0.00549348 11.68 0.186627 11.709 0.466588C12.0737 3.99015 10.6483 6.55581 10.6483 6.55581L9.94327 5.85077C9.80448 5.71199 9.57174 5.72702 9.45561 5.88527C7.40002 8.68679 7.099 11.3958 7.099 11.3958L6.50061 10.7974C6.32693 10.6237 6.03064 10.7007 5.96029 10.936C5.23283 13.369 5.71564 15.8582 5.71564 15.8582L5.71514 15.8586L6.34936 15.7361C6.34525 15.7145 5.97377 13.7188 6.44041 11.6498L6.94955 12.1581Z" fill="#D5EAFF"/>
<path d="M13.2564 6.09852C13.3141 5.92993 13.224 5.74657 13.0554 5.68887C12.8865 5.63169 12.7031 5.72134 12.6457 5.88989C11.8359 8.26001 10.4981 10.3715 8.9927 12.1831C8.98586 10.4555 9.52113 9.39689 9.5316 9.37665C9.61414 9.21911 9.55367 9.02423 9.39641 8.94118C9.23793 8.85829 9.04348 8.91864 8.96031 9.07622C8.92824 9.13728 8.19051 10.575 8.37992 12.8922C4.65574 17.0669 0.236005 19.4656 0.170849 19.5003C0.0136223 19.5843 -0.0459481 19.7796 0.0381926 19.9369C0.0961615 20.0457 0.207724 20.1076 0.323037 20.1076C0.374404 20.1076 0.426084 20.0955 0.474599 20.0697C0.530303 20.04 3.69996 18.3212 6.9675 15.2554C7.06207 15.2632 7.47437 15.2954 7.91512 15.2954C8.76023 15.2954 10.083 15.2155 11.1436 14.7912C11.3091 14.7249 11.3897 14.5372 11.3236 14.3716C11.2574 14.2062 11.068 14.1263 10.9041 14.1919C9.80613 14.6312 8.34164 14.6618 7.6 14.6443C9.86817 12.3965 12.09 9.51204 13.2564 6.09852Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.85056C16.7022 7.59411 16.444 7.36591 16.1963 7.46493L15.166 7.87708C16.1394 3.74004 13.6255 1.25496 12.3309 0.283203L11.9303 0.809337C12.295 4.3329 10.8697 6.89856 10.8697 6.89856L9.6861 6.18591C7.63047 8.98743 7.26813 11.76 7.26813 11.76L6.22457 11.0728L5.84278 15.7221L4.19531 17.2344C4.19531 17.2344 9.12215 19.3899 13.862 14.9772C14.0281 14.8226 13.9924 14.5503 13.7895 14.4488L12.2619 13.685C13.7729 12.7865 15.8697 10.511 16.629 7.85056Z" fill="#8EBEFE"/>
<path d="M6.94955 12.1889C7.20748 12.4465 7.64893 12.2925 7.69061 11.9303L7.74029 11.499C7.74315 11.4746 8.03272 9.11142 9.75631 6.60701L10.3884 7.23904C10.5932 7.4438 10.9371 7.3956 11.0777 7.14244L11.2124 6.8999C11.2795 6.77951 12.7674 4.0361 12.3306 0.283326C12.2926 0.25481 12.2554 0.227232 12.2196 0.201334C11.9917 0.0362552 11.68 0.217388 11.709 0.49735C12.0737 4.02091 10.6483 6.58658 10.6483 6.58658L9.94327 5.88154C9.80448 5.74275 9.57174 5.75779 9.45561 5.91603C7.40002 8.71756 7.099 11.4266 7.099 11.4266L6.50061 10.8282C6.32693 10.6545 6.03064 10.7314 5.96029 10.9667C5.23283 13.3998 5.71564 15.889 5.71564 15.889L5.71514 15.8894L6.34936 15.7668C6.34525 15.7452 5.97377 13.7496 6.44041 11.6806L6.94955 12.1889Z" fill="#D5EAFF"/>
<path d="M13.2564 6.12928C13.3141 5.96069 13.224 5.77733 13.0554 5.71964C12.8865 5.66245 12.7031 5.7521 12.6457 5.92065C11.8359 8.29077 10.4981 10.4022 8.9927 12.2139C8.98586 10.4862 9.52113 9.42765 9.5316 9.40741C9.61414 9.24987 9.55367 9.05499 9.39641 8.97194C9.23793 8.88905 9.04348 8.9494 8.96031 9.10698C8.92824 9.16804 8.19051 10.6057 8.37992 12.9229C4.65574 17.0977 0.236005 19.4963 0.170849 19.5311C0.0136223 19.615 -0.0459481 19.8104 0.0381926 19.9676C0.0961615 20.0765 0.207724 20.1384 0.323037 20.1384C0.374404 20.1384 0.426084 20.1263 0.474599 20.1004C0.530303 20.0708 3.69996 18.352 6.9675 15.2862C7.06207 15.2939 7.47437 15.3261 7.91512 15.3261C8.76023 15.3261 10.083 15.2462 11.1436 14.822C11.3091 14.7556 11.3897 14.568 11.3236 14.4024C11.2574 14.2369 11.068 14.1571 10.9041 14.2226C9.80613 14.6619 8.34164 14.6926 7.6 14.6751C9.86817 12.4273 12.09 9.5428 13.2564 6.12928Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.88132C16.7022 7.62487 16.444 7.39667 16.1963 7.49569L15.166 7.90784C16.1394 3.77081 13.6255 1.28572 12.3309 0.313965L11.9303 0.840098C12.295 4.36366 10.8697 6.92932 10.8697 6.92932L9.6861 6.21667C7.63047 9.01819 7.26813 11.7908 7.26813 11.7908L6.22457 11.1035L5.84278 15.7529L4.19531 17.2651C4.19531 17.2651 9.12215 19.4206 13.862 15.008C14.0281 14.8534 13.9924 14.581 13.7895 14.4796L12.2619 13.7158C13.7729 12.8173 15.8697 10.5417 16.629 7.88132Z" fill="#A0C9FF"/>
<path d="M6.94955 12.2196C7.20748 12.4773 7.64893 12.3233 7.69061 11.9611L7.74029 11.5297C7.74315 11.5053 8.03272 9.14218 9.75631 6.63777L10.3884 7.2698C10.5932 7.47457 10.9371 7.42636 11.0777 7.1732L11.2124 6.93066C11.2795 6.81027 12.7674 4.06687 12.3306 0.314088C12.2926 0.285572 12.2554 0.257994 12.2196 0.232095C11.9917 0.0670169 11.68 0.24815 11.709 0.528111C12.0737 4.05167 10.6483 6.61734 10.6483 6.61734L9.94327 5.9123C9.80448 5.77351 9.57174 5.78855 9.45561 5.94679C7.40002 8.74832 7.099 11.4573 7.099 11.4573L6.50061 10.8589C6.32693 10.6853 6.03064 10.7622 5.96029 10.9975C5.23283 13.4305 5.71564 15.9197 5.71564 15.9197L5.71514 15.9202L6.34936 15.7976C6.34525 15.776 5.97377 13.7803 6.44041 11.7113L6.94955 12.2196Z" fill="#D5EAFF"/>
<path d="M13.2564 6.16005C13.3141 5.99145 13.224 5.80809 13.0554 5.7504C12.8865 5.69321 12.7031 5.78286 12.6457 5.95141C11.8359 8.32153 10.4981 10.433 8.9927 12.2447C8.98586 10.517 9.52113 9.45841 9.5316 9.43818C9.61414 9.28064 9.55367 9.08575 9.39641 9.00271C9.23793 8.91982 9.04348 8.98017 8.96031 9.13774C8.92824 9.1988 8.19051 10.6365 8.37992 12.9537C4.65574 17.1285 0.236005 19.5271 0.170849 19.5618C0.0136223 19.6458 -0.0459481 19.8412 0.0381926 19.9984C0.0961615 20.1073 0.207724 20.1692 0.323037 20.1692C0.374404 20.1692 0.426084 20.157 0.474599 20.1312C0.530303 20.1015 3.69996 18.3827 6.9675 15.3169C7.06207 15.3247 7.47437 15.3569 7.91512 15.3569C8.76023 15.3569 10.083 15.277 11.1436 14.8527C11.3091 14.7864 11.3897 14.5987 11.3236 14.4331C11.2574 14.2677 11.068 14.1878 10.9041 14.2534C9.80613 14.6927 8.34164 14.7233 7.6 14.7058C9.86817 12.4581 12.09 9.57357 13.2564 6.16005Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.91208C16.7022 7.65563 16.444 7.42743 16.1963 7.52645L15.166 7.9386C16.1394 3.80157 13.6255 1.31649 12.3309 0.344727L11.9303 0.87086C12.295 4.39442 10.8697 6.96009 10.8697 6.96009L9.6861 6.24743C7.63047 9.04896 7.26813 11.8215 7.26813 11.8215L6.22457 11.1343L5.84278 15.7836L4.19531 17.2959C4.19531 17.2959 9.12215 19.4514 13.862 15.0387C14.0281 14.8842 13.9924 14.6118 13.7895 14.5103L12.2619 13.7465C13.7729 12.8481 15.8697 10.5725 16.629 7.91208Z" fill="#CDE2FF"/>
<path d="M6.94955 12.2504C7.20748 12.508 7.64893 12.354 7.69061 11.9919L7.74029 11.5605C7.74315 11.5361 8.03272 9.17295 9.75631 6.66853L10.3884 7.30056C10.5932 7.50533 10.9371 7.45712 11.0777 7.20396L11.2124 6.96142C11.2795 6.84103 12.7674 4.09763 12.3306 0.344849C12.2926 0.316334 12.2554 0.288755 12.2196 0.262857C11.9917 0.0977786 11.68 0.278912 11.709 0.558873C12.0737 4.08243 10.6483 6.6481 10.6483 6.6481L9.94327 5.94306C9.80448 5.80427 9.57174 5.81931 9.45561 5.97755C7.40002 8.77908 7.099 11.4881 7.099 11.4881L6.50061 10.8897C6.32693 10.716 6.03064 10.7929 5.96029 11.0283C5.23283 13.4613 5.71564 15.9505 5.71564 15.9505L5.71514 15.9509L6.34936 15.8283C6.34525 15.8067 5.97377 13.8111 6.44041 11.7421L6.94955 12.2504Z" fill="#D5EAFF"/>
<path d="M13.2564 6.19081C13.3141 6.02221 13.224 5.83885 13.0554 5.78116C12.8865 5.72397 12.7031 5.81362 12.6457 5.98218C11.8359 8.35229 10.4981 10.4637 8.9927 12.2754C8.98586 10.5478 9.52113 9.48917 9.5316 9.46894C9.61414 9.3114 9.55367 9.11651 9.39641 9.03347C9.23793 8.95058 9.04348 9.01093 8.96031 9.16851C8.92824 9.22956 8.19051 10.6673 8.37992 12.9844C4.65574 17.1592 0.236005 19.5579 0.170849 19.5926C0.0136223 19.6766 -0.0459481 19.8719 0.0381926 20.0291C0.0961615 20.138 0.207724 20.1999 0.323037 20.1999C0.374404 20.1999 0.426084 20.1878 0.474599 20.162C0.530303 20.1323 3.69996 18.4135 6.9675 15.3477C7.06207 15.3555 7.47437 15.3877 7.91512 15.3877C8.76023 15.3877 10.083 15.3078 11.1436 14.8835C11.3091 14.8171 11.3897 14.6295 11.3236 14.4639C11.2574 14.2985 11.068 14.2186 10.9041 14.2841C9.80613 14.7234 8.34164 14.7541 7.6 14.7366C9.86817 12.4888 12.09 9.60433 13.2564 6.19081Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.94333C16.7022 7.68688 16.444 7.45868 16.1963 7.5577L15.166 7.96985C16.1394 3.83282 13.6255 1.34774 12.3309 0.375977L11.9303 0.90211C12.295 4.42567 10.8697 6.99134 10.8697 6.99134L9.6861 6.27868C7.63047 9.08021 7.26813 11.8528 7.26813 11.8528L6.22457 11.1656L5.84278 15.8149L4.19531 17.3271C4.19531 17.3271 9.12215 19.4826 13.862 15.07C14.0281 14.9154 13.9924 14.643 13.7895 14.5416L12.2619 13.7778C13.7729 12.8793 15.8697 10.6037 16.629 7.94333Z" fill="#DCEBFF"/>
<path d="M6.94955 12.2814C7.20748 12.539 7.64893 12.385 7.69061 12.0229L7.74029 11.5915C7.74315 11.5671 8.03272 9.20395 9.75631 6.69953L10.3884 7.33157C10.5932 7.53633 10.9371 7.48813 11.0777 7.23496L11.2124 6.99243C11.2795 6.87204 12.7674 4.12863 12.3306 0.375855C12.2926 0.347339 12.2554 0.319761 12.2196 0.293863C11.9917 0.128785 11.68 0.309918 11.709 0.589879C12.0737 4.11344 10.6483 6.67911 10.6483 6.67911L9.94327 5.97407C9.80448 5.83528 9.57174 5.85032 9.45561 6.00856C7.40002 8.81008 7.099 11.5191 7.099 11.5191L6.50061 10.9207C6.32693 10.747 6.03064 10.824 5.96029 11.0593C5.23283 13.4923 5.71564 15.9815 5.71564 15.9815L5.71514 15.9819L6.34936 15.8594C6.34525 15.8377 5.97377 13.8421 6.44041 11.7731L6.94955 12.2814Z" fill="#D5EAFF"/>
<path d="M13.2564 6.22181C13.3141 6.05322 13.224 5.86986 13.0554 5.81217C12.8865 5.75498 12.7031 5.84463 12.6457 6.01318C11.8359 8.3833 10.4981 10.4947 8.9927 12.3064C8.98586 10.5788 9.52113 9.52018 9.5316 9.49994C9.61414 9.3424 9.55367 9.14752 9.39641 9.06447C9.23793 8.98158 9.04348 9.04193 8.96031 9.19951C8.92824 9.26057 8.19051 10.6983 8.37992 13.0155C4.65574 17.1902 0.236005 19.5889 0.170849 19.6236C0.0136223 19.7076 -0.0459481 19.9029 0.0381926 20.0602C0.0961615 20.169 0.207724 20.2309 0.323037 20.2309C0.374404 20.2309 0.426084 20.2188 0.474599 20.193C0.530303 20.1633 3.69996 18.4445 6.9675 15.3787C7.06207 15.3865 7.47437 15.4187 7.91512 15.4187C8.76023 15.4187 10.083 15.3388 11.1436 14.9145C11.3091 14.8482 11.3897 14.6605 11.3236 14.4949C11.2574 14.3295 11.068 14.2496 10.9041 14.3151C9.80613 14.7544 8.34164 14.7851 7.6 14.7676C9.86817 12.5198 12.09 9.63533 13.2564 6.22181Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,5 @@
<svg width="17" height="21" viewBox="0 0 17 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M16.629 7.97409C16.7022 7.71765 16.444 7.48944 16.1963 7.58847L15.166 8.00061C16.1394 3.86358 13.6255 1.3785 12.3309 0.406738L11.9303 0.932872C12.295 4.45643 10.8697 7.0221 10.8697 7.0221L9.6861 6.30944C7.63047 9.11097 7.26813 11.8835 7.26813 11.8835L6.22457 11.1963L5.84278 15.8456L4.19531 17.3579C4.19531 17.3579 9.12215 19.5134 13.862 15.1007C14.0281 14.9462 13.9924 14.6738 13.7895 14.5723L12.2619 13.8086C13.7729 12.9101 15.8697 10.6345 16.629 7.97409Z" fill="#EAF3FF"/>
<path d="M6.94955 12.3122C7.20748 12.5698 7.64893 12.4158 7.69061 12.0536L7.74029 11.6223C7.74315 11.5978 8.03272 9.23471 9.75631 6.7303L10.3884 7.36233C10.5932 7.56709 10.9371 7.51889 11.0777 7.26573L11.2124 7.02319C11.2795 6.9028 12.7674 4.15939 12.3306 0.406617C12.2926 0.378101 12.2554 0.350523 12.2196 0.324625C11.9917 0.159546 11.68 0.340679 11.709 0.620641C12.0737 4.1442 10.6483 6.70987 10.6483 6.70987L9.94327 6.00483C9.80448 5.86604 9.57174 5.88108 9.45561 6.03932C7.40002 8.84085 7.099 11.5499 7.099 11.5499L6.50061 10.9515C6.32693 10.7778 6.03064 10.8547 5.96029 11.09C5.23283 13.5231 5.71564 16.0123 5.71564 16.0123L5.71514 16.0127L6.34936 15.8901C6.34525 15.8685 5.97377 13.8728 6.44041 11.8039L6.94955 12.3122Z" fill="#D5EAFF"/>
<path d="M13.2564 6.25258C13.3141 6.08398 13.224 5.90062 13.0554 5.84293C12.8865 5.78574 12.7031 5.87539 12.6457 6.04394C11.8359 8.41406 10.4981 10.5255 8.9927 12.3372C8.98586 10.6095 9.52113 9.55094 9.5316 9.5307C9.61414 9.37317 9.55367 9.17828 9.39641 9.09524C9.23793 9.01234 9.04348 9.0727 8.96031 9.23027C8.92824 9.29133 8.19051 10.729 8.37992 13.0462C4.65574 17.221 0.236005 19.6196 0.170849 19.6543C0.0136223 19.7383 -0.0459481 19.9337 0.0381926 20.0909C0.0961615 20.1998 0.207724 20.2617 0.323037 20.2617C0.374404 20.2617 0.426084 20.2495 0.474599 20.2237C0.530303 20.1941 3.69996 18.4752 6.9675 15.4095C7.06207 15.4172 7.47437 15.4494 7.91512 15.4494C8.76023 15.4494 10.083 15.3695 11.1436 14.9452C11.3091 14.8789 11.3897 14.6913 11.3236 14.5257C11.2574 14.3602 11.068 14.2804 10.9041 14.3459C9.80613 14.7852 8.34164 14.8159 7.6 14.7984C9.86817 12.5506 12.09 9.6661 13.2564 6.25258Z" fill="#B8DDFF"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1,25 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_6702_36714)">
<circle cx="20" cy="20" r="15" fill="#F4F4F4"/>
<path d="M21.1979 12.3395L18.26 15.2772C17.7228 15.8146 17.3477 16.4536 17.1345 17.1328C16.437 17.3525 15.798 17.7393 15.2772 18.26L12.3395 21.1979C10.5536 22.9837 10.5534 25.8744 12.3395 27.6605C14.1253 29.4464 17.0161 29.4466 18.8022 27.6605L21.7399 24.7227C22.2773 24.1855 22.6522 23.5465 22.8655 22.8671C23.5631 22.6475 24.202 22.2607 24.7227 21.7399L27.6605 18.8022C29.4464 17.0162 29.4467 14.1256 27.6605 12.3395C25.8746 10.5536 22.984 10.5534 21.1979 12.3395ZM17.266 20.2484C17.4886 20.7914 17.8199 21.2998 18.26 21.7399C18.6877 22.1674 19.1965 22.5054 19.7513 22.7343L16.8137 25.6721C16.1284 26.3572 15.0133 26.3574 14.328 25.6721C13.6427 24.9867 13.6427 23.8717 14.328 23.1864L17.2657 20.2485C17.2659 20.2485 17.2659 20.2485 17.266 20.2484ZM21.2428 24.2256L18.3049 27.1633C16.7939 28.6745 14.3479 28.6747 12.8366 27.1633C11.3254 25.6523 11.3253 23.2062 12.8366 21.695L15.7744 18.7571C16.1166 18.4149 16.5191 18.1412 16.9579 17.9488C16.8924 18.4845 16.9223 19.014 17.0364 19.5199C16.9419 19.5905 16.8524 19.6676 16.7686 19.7514L13.8309 22.6892C12.8715 23.6487 12.8715 25.2097 13.8309 26.1691C14.7903 27.1285 16.3513 27.1285 17.3108 26.1691L20.2485 23.2313C21.2089 22.2709 21.209 20.7119 20.2485 19.7514C19.7355 19.2383 19.6105 18.4924 19.8554 17.8663C20.3734 18.059 20.8488 18.3631 21.2428 18.7571C22.7504 20.2647 22.7505 22.7179 21.2428 24.2256ZM27.1633 18.3049L24.2256 21.2428C23.8834 21.585 23.4809 21.8587 23.0421 22.0511C23.1076 21.5154 23.0777 20.986 22.9637 20.4801C23.058 20.4095 23.1477 20.3323 23.2313 20.2485L26.1692 17.3108C27.1286 16.3514 27.1286 14.7903 26.1692 13.8309C25.3077 12.9695 23.9604 12.8807 22.9987 13.5684C22.8408 13.6813 22.8044 13.9009 22.9173 14.0588C23.0301 14.2168 23.2497 14.2533 23.4077 14.1403C24.1093 13.6386 25.0615 13.7174 25.6721 14.328C26.3574 15.0133 26.3574 16.1283 25.6721 16.8137L22.7342 19.7514C22.7342 19.7514 22.7342 19.7514 22.7341 19.7515C22.5113 19.2085 22.1801 18.7002 21.7399 18.26C21.3124 17.8325 20.8035 17.4945 20.2487 17.2656L21.4465 16.0678C21.5837 15.9306 21.5837 15.708 21.4465 15.5707C21.3091 15.4335 21.0867 15.4335 20.9493 15.5707L19.7514 16.7686C18.7911 17.729 18.7909 19.2879 19.7514 20.2485C20.2645 20.7615 20.3894 21.5076 20.1446 22.1337C19.6266 21.941 19.1511 21.6368 18.7571 21.2427C17.2497 19.7352 17.2495 17.282 18.7571 15.7744L21.695 12.8366C23.2061 11.3254 25.6522 11.3252 27.1633 12.8366C28.6745 14.3476 28.6747 16.7937 27.1633 18.3049Z" fill="#999999"/>
<path d="M22.5443 14.8262C22.5443 15.0204 22.3869 15.1777 22.1929 15.1777C21.9987 15.1777 21.8413 15.0204 21.8413 14.8262C21.8413 14.632 21.9987 14.4746 22.1929 14.4746C22.3869 14.4746 22.5443 14.632 22.5443 14.8262Z" fill="#999999"/>
<path d="M15.7755 15.774C15.9128 15.6368 15.9128 15.4142 15.7755 15.2769L14.2841 13.7855C14.1468 13.6483 13.9243 13.6483 13.787 13.7855C13.6498 13.9228 13.6498 14.1455 13.787 14.2828L15.2784 15.7742C15.4158 15.9114 15.6383 15.9114 15.7755 15.774Z" fill="#999999"/>
<path d="M12.3378 16.9062C12.1437 16.9062 11.9863 17.0636 11.9863 17.2577C11.9863 17.4519 12.1437 17.6092 12.3378 17.6092H14.447C14.641 17.6092 14.7984 17.4519 14.7984 17.2577C14.7984 17.0636 14.641 16.9062 14.447 16.9062H12.3378Z" fill="#999999"/>
<path d="M16.9062 12.2314V14.3405C16.9062 14.5346 17.0636 14.6921 17.2577 14.6921C17.4519 14.6921 17.6092 14.5346 17.6092 14.3405V12.2314C17.6092 12.0373 17.4519 11.8799 17.2577 11.8799C17.0636 11.8799 16.9062 12.0373 16.9062 12.2314Z" fill="#999999"/>
<path d="M24.227 24.2259C24.0897 24.3631 24.0897 24.5857 24.227 24.7231L25.7184 26.2145C25.7871 26.2831 25.877 26.3175 25.967 26.3175C26.2772 26.3175 26.4377 25.9397 26.2155 25.7173L24.7242 24.2259C24.5868 24.0887 24.3643 24.0887 24.227 24.2259Z" fill="#999999"/>
<path d="M23.0605 27.7673V25.6581C23.0605 25.464 22.903 25.3066 22.709 25.3066C22.5148 25.3066 22.3574 25.464 22.3574 25.6581V27.7673C22.3574 27.9614 22.5148 28.1187 22.709 28.1187C22.903 28.1187 23.0605 27.9614 23.0605 27.7673Z" fill="#999999"/>
<path d="M27.7693 23.0586C27.9633 23.0586 28.1207 22.9011 28.1207 22.707C28.1207 22.5128 27.9633 22.3555 27.7693 22.3555H25.66C25.466 22.3555 25.3086 22.5128 25.3086 22.707C25.3086 22.9011 25.466 23.0586 25.66 23.0586H27.7693Z" fill="#999999"/>
</g>
<defs>
<filter id="filter0_d_6702_36714" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6702_36714"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6702_36714" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -0,0 +1,10 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.61417 2.15625H0.863281V15.9173H1.61417V2.15625Z" fill="#FCD577"/>
<path d="M19.6761 20.2188H5.91504V20.9696H19.6761V20.2188Z" fill="#FF6F52"/>
<path d="M2.47774 2.53177L1.23889 0.541992L0 2.53177H2.47774Z" fill="#FCD577"/>
<path d="M0 15.5425L1.23889 17.5322L2.47774 15.5425H0Z" fill="#FCD577"/>
<path d="M19.3018 21.8332L21.2915 20.5944L19.3018 19.3555V21.8332Z" fill="#FF6F52"/>
<path d="M6.29154 21.8332L4.30176 20.5944L6.29154 19.3555V21.8332Z" fill="#FF6F52"/>
<path d="M21.2917 1.72397V0.541992H4.30176V17.5319H21.2917V2.97543" fill="#CFDCE5"/>
<path d="M3.92578 0.166504V17.9073H21.6665V0.166504H3.92578ZM20.9157 10.1588V17.1564H10.1888V14.9644H9.438V17.1564H4.67662V0.917389H9.438V9.40788V10.1588V13.0121H10.1889V10.1588H17.247V9.40788H10.1889V0.917389H20.9157V9.40788H19.0493V10.1588H20.9157Z" fill="#415E72"/>
</svg>

After

Width:  |  Height:  |  Size: 935 B

View File

@ -0,0 +1,4 @@
<svg width="15" height="14" viewBox="0 0 15 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.13597 13.8173C7.21711 13.9314 7.35373 14 7.5 14C7.64627 14 7.78289 13.9315 7.86403 13.8173C8.89942 12.3614 10.4245 10.5632 11.4872 8.73444C12.3369 7.27221 12.75 6.02509 12.75 4.92188C12.75 2.20795 10.3948 0 7.5 0C4.60515 0 2.25 2.20795 2.25 4.92188C2.25 6.02509 2.66309 7.27221 3.51283 8.73444C4.57476 10.5618 6.10271 12.3644 7.13597 13.8173ZM7.5 0.820312C9.91237 0.820312 11.875 2.66027 11.875 4.92188C11.875 5.88448 11.4968 7.00323 10.7188 8.342C9.80277 9.91834 8.49557 11.5174 7.5 12.8617C6.50457 11.5176 5.19729 9.91843 4.2812 8.342C3.5032 7.00323 3.125 5.88448 3.125 4.92188C3.125 2.66027 5.08763 0.820312 7.5 0.820312Z" fill="#999999"/>
<path d="M7.5 7.38281C8.94742 7.38281 10.125 6.27884 10.125 4.92188C10.125 3.56491 8.94742 2.46094 7.5 2.46094C6.05257 2.46094 4.875 3.56491 4.875 4.92188C4.875 6.27884 6.05257 7.38281 7.5 7.38281ZM7.5 3.28125C8.46495 3.28125 9.25 4.01723 9.25 4.92188C9.25 5.82652 8.46495 6.5625 7.5 6.5625C6.53505 6.5625 5.75 5.82652 5.75 4.92188C5.75 4.01723 6.53505 3.28125 7.5 3.28125Z" fill="#999999"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -0,0 +1,18 @@
<svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.8333 1.71851L0.472669 15.9196C-0.702346 17.5301 0.447998 19.7934 2.44166 19.7934H19.225C21.2187 19.7934 22.369 17.5301 21.194 15.9196L10.8333 1.71851Z" fill="#F1FAFF"/>
<path d="M21.1931 15.9183L10.8333 1.71851L9.06055 4.14839L17.6475 15.9183C18.8229 17.5294 17.6722 19.7933 15.6779 19.7933H19.2235C21.2178 19.7934 22.3685 17.5294 21.1931 15.9183Z" fill="#C7EEFB"/>
<path d="M12.9102 6.05994H8.76926C7.63838 6.05994 6.72168 5.14319 6.72168 4.01236V2.12199C6.72168 2.00515 6.81643 1.9104 6.93327 1.9104H14.7463C14.8631 1.9104 14.9579 2.00515 14.9579 2.12199V4.01236C14.9579 5.14319 14.0411 6.05994 12.9102 6.05994Z" fill="#E0DDE2"/>
<path d="M14.748 1.9104H13.5893V2.63688C13.5893 3.77034 12.6704 4.6892 11.537 4.6892H7.40546C7.19886 4.6892 6.99959 4.65835 6.81152 4.6016C7.06628 5.44539 7.84934 6.05998 8.77624 6.05998H12.9078C14.0412 6.05998 14.9601 5.14112 14.9601 4.00766V2.12246C14.9601 2.00536 14.8651 1.9104 14.748 1.9104Z" fill="#C8C1C9"/>
<path d="M16.3024 2.66033H5.37858C5.26174 2.66033 5.16699 2.56558 5.16699 2.44874V0.41838C5.16699 0.301538 5.26174 0.206787 5.37858 0.206787H16.3024C16.4192 0.206787 16.514 0.301538 16.514 0.41838V2.44874C16.514 2.56562 16.4193 2.66033 16.3024 2.66033Z" fill="#E0DDE2"/>
<path d="M16.3019 0.206787H15.0629V0.997127C15.0629 1.11426 14.9679 1.20923 14.8508 1.20923H5.16699V2.44827C5.16699 2.56541 5.26195 2.66037 5.37909 2.66037H16.3019C16.4191 2.66037 16.514 2.56541 16.514 2.44827V0.418887C16.514 0.30175 16.4191 0.206787 16.3019 0.206787Z" fill="#C8C1C9"/>
<path d="M10.841 4.82612C11.141 4.82612 11.3842 4.58293 11.3842 4.28294C11.3842 3.98294 11.141 3.73975 10.841 3.73975C10.541 3.73975 10.2979 3.98294 10.2979 4.28294C10.2979 4.58293 10.541 4.82612 10.841 4.82612Z" fill="#FA2A3B"/>
<path d="M10.7136 10.2642C11.2545 10.2642 11.6929 9.82577 11.6929 9.28494C11.6929 8.7441 11.2545 8.30566 10.7136 8.30566C10.1728 8.30566 9.73438 8.7441 9.73438 9.28494C9.73438 9.82577 10.1728 10.2642 10.7136 10.2642Z" fill="#62D8F9"/>
<path d="M10.7138 8.30542C10.6442 8.30542 10.5762 8.31283 10.5107 8.32662C10.9541 8.42014 11.2869 8.81349 11.2869 9.28469C11.2869 9.7559 10.9541 10.1492 10.5107 10.2428C10.5763 10.2566 10.6442 10.264 10.7138 10.264C11.2546 10.264 11.6931 9.82551 11.6931 9.28469C11.6931 8.74387 11.2547 8.30542 10.7138 8.30542Z" fill="#00BEF7"/>
<path d="M14.1217 13.3878L12.4086 13.1093L11.4778 11.3114C11.3944 11.1233 11.2634 10.8659 10.9741 10.7797L9.88702 10.4535C9.76776 10.4245 9.65308 10.4138 9.4497 10.4457L7.13145 10.9842C6.99264 11.0164 6.86865 11.0944 6.7794 11.2054L5.54163 12.746C5.32157 13.02 5.3652 13.4204 5.63913 13.6405C5.75661 13.7349 5.89736 13.7808 6.03718 13.7808C6.22338 13.7808 6.40789 13.6995 6.53357 13.543L7.6336 12.1739L8.72165 11.9212L8.08273 14.0505C8.07045 14.0863 8.06652 14.1326 8.04896 14.2338L7.68849 16.7926L6.00734 18.2512C5.74192 18.4815 5.71344 18.8834 5.94374 19.1488C6.06959 19.2938 6.24657 19.368 6.4246 19.368C6.57238 19.368 6.72087 19.3168 6.84127 19.2124L8.70227 17.5977C8.81826 17.4971 8.89393 17.358 8.91534 17.2059L9.21009 15.1137L9.24932 15.1255L10.8419 16.9842L11.7847 19.0311C11.892 19.264 12.1223 19.4013 12.363 19.4013C12.452 19.4013 12.5425 19.3825 12.6287 19.3428C12.9479 19.1958 13.0874 18.8179 12.9405 18.4987L11.9606 16.3713C11.936 16.3179 11.9042 16.2682 11.8659 16.2236L10.5325 14.6674L10.9911 13.1391L11.4257 13.9786C11.5183 14.1574 11.69 14.2818 11.8886 14.3141L13.9174 14.6439C13.952 14.6495 13.9864 14.6522 14.0203 14.6522C14.3267 14.6522 14.5968 14.4302 14.6475 14.118C14.7039 13.771 14.4685 13.4442 14.1217 13.3878Z" fill="#62D8F9"/>
<path d="M8.99707 10.5509C9.20045 10.519 9.31454 10.5319 9.4338 10.5609L10.5209 10.8871C10.8102 10.9732 10.9411 11.2307 11.0245 11.4187L12.0585 13.427C12.085 13.4785 12.1345 13.5142 12.1917 13.523L14.645 13.9015C14.5979 13.6442 14.3947 13.4322 14.1218 13.3878L12.4088 13.1093L11.4779 11.3114C11.3945 11.1233 11.2635 10.8659 10.9742 10.7797L9.88716 10.4535C9.7679 10.4245 9.65322 10.4138 9.44984 10.4457L8.99707 10.5509Z" fill="#00BEF7"/>
<path d="M11.9615 16.371C11.9369 16.3176 11.905 16.2679 11.8667 16.2233L10.5333 14.6671L10.9919 13.1391L10.9337 13.0266C10.8579 12.8802 10.6424 12.9003 10.595 13.0583L10.1416 14.5691C10.1032 14.6971 10.1325 14.8358 10.2194 14.9372L11.4134 16.3307C11.4516 16.3753 11.4835 16.4251 11.5081 16.4784L12.4879 18.6058C12.6191 18.8907 12.5216 19.2219 12.2723 19.3943C12.3025 19.3987 12.3331 19.401 12.3638 19.401C12.4528 19.401 12.5433 19.3822 12.6295 19.3425C12.9487 19.1955 13.0882 18.8176 12.9413 18.4985L11.9615 16.371Z" fill="#00BEF7"/>
<path d="M3.47827 18.4408C3.31064 18.4408 3.17032 18.3097 3.16092 18.1403C3.08839 16.8332 4.09282 15.7107 5.39991 15.6381C5.57574 15.6291 5.72551 15.7627 5.7352 15.9381C5.74493 16.1135 5.61065 16.2637 5.4352 16.2734C4.47834 16.3266 3.74305 17.1483 3.79616 18.105C3.8059 18.2805 3.67162 18.4306 3.49617 18.4403C3.4902 18.4406 3.48419 18.4408 3.47827 18.4408Z" fill="#00BEF7"/>
<path d="M4.76838 18.4541C4.60076 18.4541 4.46044 18.3231 4.45104 18.1536C4.41524 17.5088 4.91082 16.9549 5.5557 16.9192C5.73081 16.9095 5.88121 17.0438 5.89094 17.2192C5.90068 17.3947 5.76636 17.5447 5.59091 17.5545C5.29634 17.5708 5.06994 17.8238 5.08627 18.1185C5.09601 18.2939 4.96169 18.444 4.78624 18.4537C4.78032 18.454 4.77431 18.4541 4.76838 18.4541Z" fill="#00BEF7"/>
<path d="M17.0106 13.6224C17.0076 13.6224 17.0046 13.6223 17.0016 13.6222C16.826 13.6173 16.6876 13.471 16.6925 13.2954C16.7191 12.3374 15.9615 11.5363 15.0036 11.5097C14.828 11.5048 14.6896 11.3584 14.6945 11.1828C14.6994 11.0072 14.8466 10.8688 15.0213 10.8737C16.3299 10.9101 17.365 12.0044 17.3285 13.3131C17.3237 13.4857 17.1822 13.6224 17.0106 13.6224Z" fill="#00BEF7"/>
<path d="M15.7216 13.6711C15.7186 13.6711 15.7156 13.6711 15.7126 13.671C15.537 13.6661 15.3986 13.5197 15.4035 13.3441C15.4075 13.2013 15.3555 13.0654 15.2574 12.9615C15.1591 12.8577 15.0263 12.7983 14.8835 12.7943C14.7079 12.7894 14.5695 12.6431 14.5743 12.4675C14.5793 12.2919 14.724 12.1531 14.9012 12.1583C15.214 12.1671 15.5046 12.2971 15.7196 12.5244C15.9346 12.7517 16.0482 13.0491 16.0395 13.3619C16.0346 13.5344 15.8932 13.6711 15.7216 13.6711Z" fill="#00BEF7"/>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@ -0,0 +1,6 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.7715 21.8328C16.7205 21.8328 21.5431 16.9829 21.5431 11.0003C21.5431 5.01761 16.7205 0.167725 10.7715 0.167725C4.82259 0.167725 0 5.01761 0 11.0003C0 16.9829 4.82259 21.8328 10.7715 21.8328Z" fill="#B3CEEC"/>
<path d="M9.41996 16.2738H7.27293C7.10438 16.2738 6.96777 16.1371 6.96777 15.9686V6.03098C6.96777 5.86243 7.10442 5.72583 7.27293 5.72583H9.41996C9.58851 5.72583 9.72511 5.86247 9.72511 6.03098V15.9686C9.72511 16.1372 9.58851 16.2738 9.41996 16.2738Z" fill="#5F99D7"/>
<path d="M14.3946 16.2738H12.2475C12.079 16.2738 11.9424 16.1371 11.9424 15.9686V6.03098C11.9424 5.86243 12.079 5.72583 12.2475 5.72583H14.3946C14.5631 5.72583 14.6997 5.86247 14.6997 6.03098V15.9686C14.6997 16.1372 14.5631 16.2738 14.3946 16.2738Z" fill="#5F99D7"/>
<path d="M10.8332 0.166748C10.584 0.166748 10.3369 0.175931 10.0918 0.19252C15.7289 0.573633 20.1837 5.26629 20.1837 11.0001C20.1837 16.7339 15.7289 21.4265 10.0918 21.8076C10.3369 21.8242 10.584 21.8334 10.8332 21.8334C16.8163 21.8334 21.6666 16.9832 21.6666 11.0001C21.6666 5.01699 16.8163 0.166748 10.8332 0.166748Z" fill="#98BCE5"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,6 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.8334 21.8332C7.93969 21.8332 5.21921 20.7063 3.17302 18.6601C1.12688 16.614 0 13.8935 0 10.9999C0 8.10619 1.12688 5.38572 3.17298 3.33953C5.21921 1.29338 7.93961 0.166504 10.8334 0.166504C13.727 0.166504 16.4475 1.29338 18.4936 3.33953C20.5398 5.38572 21.6667 8.10615 21.6667 10.9999C21.6667 13.8936 20.5397 16.614 18.4936 18.6602C16.4475 20.7064 13.727 21.8332 10.8334 21.8332ZM10.8334 3.12028C6.48853 3.12028 2.95378 6.65504 2.95378 10.9999C2.95378 15.3447 6.48853 18.8794 10.8334 18.8794C15.1782 18.8794 18.713 15.3447 18.713 10.9999C18.713 6.65508 15.1781 3.12028 10.8334 3.12028Z" fill="#023DFE" fill-opacity="0.6"/>
<g opacity="0.1">
<path d="M5.14215 18.6601C3.09605 16.614 1.96917 13.8935 1.96917 10.9998C1.96917 8.10615 3.09605 5.38567 5.14215 3.33957C6.95445 1.52727 9.29585 0.436914 11.8179 0.211149C11.4924 0.18195 11.1641 0.166504 10.8334 0.166504C7.93969 0.166504 5.21921 1.29338 3.17302 3.33953C1.12688 5.38563 0 8.10615 0 10.9998C0 13.8934 1.12688 16.614 3.17298 18.6601C5.21913 20.7062 7.93961 21.8332 10.8333 21.8332C11.164 21.8332 11.4924 21.8177 11.8179 21.7886C9.29585 21.5628 6.95449 20.4724 5.14215 18.6601Z" fill="black"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,3 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M43.2614 20.4808C44.1769 21.3963 44.1769 22.8804 43.2614 23.7955L27.5381 39.5192C26.6226 40.4343 25.139 40.4343 24.2235 39.5192L16.7386 32.0338C15.8231 31.1188 15.8231 29.6347 16.7386 28.7196C17.6537 27.8041 19.1377 27.8041 20.0528 28.7196L25.8806 34.5474L39.9467 20.4808C40.8623 19.5657 42.3463 19.5657 43.2614 20.4808ZM60 30C60 46.5825 46.5802 60 30 60C13.4175 60 0 46.5802 0 30C0 13.4175 13.4198 0 30 0C46.5825 0 60 13.4198 60 30ZM55.3125 30C55.3125 16.0085 43.9897 4.6875 30 4.6875C16.0085 4.6875 4.6875 16.0103 4.6875 30C4.6875 43.9915 16.0103 55.3125 30 55.3125C43.9915 55.3125 55.3125 43.9897 55.3125 30Z" fill="#023DFE" fill-opacity="0.7"/>
</svg>

After

Width:  |  Height:  |  Size: 761 B

View File

@ -0,0 +1,21 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M20.7802 9.0399L20.0667 9.18046C19.7057 9.25157 19.4663 9.5894 19.5103 9.95466C19.6254 10.9106 19.5871 11.9137 19.3549 12.9433C18.5334 16.5849 15.4143 19.3394 11.6982 19.6957C6.22309 20.2206 1.65927 15.6884 2.13085 10.223C2.48684 6.09727 5.78343 2.73681 9.90242 2.3098C12.864 2.00274 15.5631 3.17762 17.3531 5.18175L18.396 4.25096C16.4588 2.08197 13.6036 0.750365 10.4397 0.87082C5.29437 1.06665 1.04625 5.19944 0.720226 10.3382C0.34608 16.2355 5.01846 21.1352 10.8352 21.1352C16.4331 21.1352 20.9712 16.5971 20.9712 10.9992C20.9712 10.3288 20.9044 9.674 20.7802 9.0399Z" fill="#FFF0D2"/>
<path d="M10.8355 12.7451C11.8006 12.7451 12.583 11.9627 12.583 10.9976C12.583 10.0324 11.8006 9.25 10.8355 9.25C9.8703 9.25 9.08789 10.0324 9.08789 10.9976C9.08789 11.9627 9.8703 12.7451 10.8355 12.7451Z" fill="#FFF0D2"/>
<path d="M10.8358 16.5911C10.6426 16.5911 10.4863 16.4346 10.4863 16.2416V10.9989C10.4863 10.9062 10.5232 10.8173 10.5887 10.7517L14.4334 6.90709C14.5699 6.77055 14.7911 6.77055 14.9276 6.90709C15.0642 7.04363 15.0642 7.26482 14.9276 7.40131L11.1854 11.1436V16.2416C11.1854 16.4347 11.029 16.5911 10.8358 16.5911Z" fill="#7A4646"/>
<path d="M10.8356 12.0463C11.4147 12.0463 11.8842 11.5769 11.8842 10.9978C11.8842 10.4187 11.4147 9.94922 10.8356 9.94922C10.2566 9.94922 9.78711 10.4187 9.78711 10.9978C9.78711 11.5769 10.2566 12.0463 10.8356 12.0463Z" fill="#AA6E4D"/>
<path d="M10.8358 4.35899C10.6426 4.35899 10.4863 4.20248 10.4863 4.00948V3.31045C10.4863 3.11745 10.6427 2.96094 10.8358 2.96094C11.0291 2.96094 11.1854 3.11745 11.1854 3.31045V4.00948C11.1854 4.20248 11.029 4.35899 10.8358 4.35899Z" fill="#DE966C"/>
<path d="M10.8358 19.0387C10.6426 19.0387 10.4863 18.8822 10.4863 18.6892V17.9901C10.4863 17.7971 10.6427 17.6406 10.8358 17.6406C11.0291 17.6406 11.1854 17.7971 11.1854 17.9901V18.6892C11.1854 18.8822 11.029 19.0387 10.8358 19.0387Z" fill="#DE966C"/>
<path d="M18.5251 11.3475H17.8261C17.6329 11.3475 17.4766 11.1909 17.4766 10.998C17.4766 10.805 17.6329 10.6484 17.8261 10.6484H18.5251C18.7183 10.6484 18.8746 10.805 18.8746 10.998C18.8746 11.1909 18.7183 11.3475 18.5251 11.3475Z" fill="#DE966C"/>
<path d="M3.84546 11.3475H3.14639C2.95318 11.3475 2.79688 11.1909 2.79688 10.998C2.79688 10.805 2.95322 10.6484 3.14639 10.6484H3.84541C4.03863 10.6484 4.19493 10.805 4.19493 10.998C4.19493 11.1909 4.03863 11.3475 3.84546 11.3475Z" fill="#DE966C"/>
<path d="M4.78099 7.85338C4.72161 7.85338 4.66151 7.83836 4.60657 7.80661L4.00108 7.4571C3.83382 7.36051 3.77651 7.14682 3.87309 6.9796C3.96968 6.81233 4.18371 6.75502 4.35059 6.85161L4.95608 7.20112C5.12335 7.29771 5.18066 7.5114 5.08407 7.67862C5.01923 7.79074 4.90178 7.85338 4.78099 7.85338Z" fill="#F7B97E"/>
<path d="M17.4939 15.1933C17.4345 15.1933 17.3744 15.1782 17.3195 15.1465L16.714 14.797C16.5467 14.7004 16.4894 14.4867 16.586 14.3195C16.6826 14.152 16.8966 14.0949 17.0635 14.1915L17.669 14.541C17.8362 14.6376 17.8935 14.8513 17.797 15.0185C17.7321 15.1306 17.6147 15.1933 17.4939 15.1933Z" fill="#F7B97E"/>
<path d="M14.3298 5.29299C14.2704 5.29299 14.2103 5.27796 14.1554 5.24622C13.9881 5.14964 13.9308 4.93594 14.0274 4.76872L14.3769 4.16323C14.4735 3.99579 14.6875 3.93866 14.8544 4.03524C15.0217 4.13182 15.079 4.34552 14.9824 4.51274L14.6329 5.11823C14.568 5.23035 14.4506 5.29299 14.3298 5.29299Z" fill="#F7B97E"/>
<path d="M6.98995 18.0077C6.93057 18.0077 6.87047 17.9927 6.81553 17.961C6.64827 17.8644 6.59096 17.6507 6.68755 17.4834L7.03706 16.878C7.13331 16.7107 7.34768 16.6536 7.51456 16.75C7.68183 16.8466 7.73913 17.0602 7.64255 17.2275L7.29304 17.833C7.2282 17.9451 7.11079 18.0077 6.98995 18.0077Z" fill="#F7B97E"/>
<path d="M16.8891 7.85337C16.7682 7.85337 16.6508 7.79073 16.586 7.67861C16.4894 7.51135 16.5467 7.2977 16.714 7.20111L17.3195 6.8516C17.486 6.75502 17.7004 6.81236 17.797 6.97959C17.8935 7.14685 17.8362 7.36051 17.669 7.45709L17.0635 7.8066C17.0085 7.83835 16.9485 7.85337 16.8891 7.85337Z" fill="#F7B97E"/>
<path d="M4.17617 15.1933C4.05533 15.1933 3.93792 15.1306 3.87308 15.0185C3.7765 14.8512 3.83385 14.6376 4.00107 14.541L4.60656 14.1915C4.77277 14.0949 4.98714 14.1521 5.08406 14.3195C5.18065 14.4867 5.1233 14.7004 4.95608 14.797L4.35059 15.1465C4.29565 15.1782 4.23555 15.1933 4.17617 15.1933Z" fill="#F7B97E"/>
<path d="M7.34013 5.29298C7.2193 5.29298 7.10189 5.23034 7.03705 5.11822L6.68754 4.51273C6.59095 4.34547 6.6483 4.13181 6.81553 4.03523C6.98207 3.93865 7.1961 3.99583 7.29303 4.16322L7.64254 4.76871C7.73912 4.93597 7.68178 5.14963 7.51455 5.24621C7.45962 5.27795 7.39956 5.29298 7.34013 5.29298Z" fill="#F7B97E"/>
<path d="M14.68 18.0077C14.5591 18.0077 14.4417 17.9451 14.3769 17.833L14.0274 17.2275C13.9308 17.0602 13.9881 16.8465 14.1554 16.75C14.3219 16.6535 14.5363 16.7107 14.6329 16.8779L14.9824 17.4834C15.079 17.6507 15.0216 17.8644 14.8544 17.9609C14.7994 17.9927 14.7394 18.0077 14.68 18.0077Z" fill="#F7B97E"/>
<path d="M10.8358 11.3475C11.0289 11.3475 11.1854 11.191 11.1854 10.998C11.1854 10.8049 11.0289 10.6484 10.8358 10.6484C10.6428 10.6484 10.4863 10.8049 10.4863 10.998C10.4863 11.191 10.6428 11.3475 10.8358 11.3475Z" fill="#7A4646"/>
<path d="M10.8356 1.56212C5.42443 1.56212 1.07697 6.11655 1.41743 11.6012C1.70913 16.3007 5.53397 20.1256 10.2335 20.4173C15.7181 20.7578 20.2726 16.4103 20.2726 10.9991C20.2726 10.2541 20.1854 9.5297 20.0217 8.83474C19.9829 8.66988 20.0623 8.5019 20.2172 8.43346C20.4105 8.34805 20.6773 8.24402 20.8922 8.16267C21.0866 8.08907 21.3059 8.19949 21.3557 8.40125C21.6326 9.52411 21.7356 10.7154 21.6299 11.9463C21.4062 14.551 20.2433 16.8986 18.4888 18.652C18.4888 18.652 14.9619 21.4157 11.4687 21.4157C4.94621 21.4157 0.410156 16.7271 0.410156 10.1916C0.410156 7.40625 3.18409 3.34816 3.18409 3.34816C5.04237 1.49153 7.56422 0.300058 10.3375 0.175287C13.4409 0.035659 16.2657 1.20796 18.3212 3.17781L18.9202 2.71389C19.1388 2.5446 19.4582 2.68418 19.4824 2.95967L19.7199 5.66482C19.7422 5.91826 19.4949 6.10982 19.2551 6.02483L16.6954 5.11791C16.4348 5.02556 16.3795 4.68142 16.5982 4.51212L17.2071 4.04055C15.5283 2.50215 13.2923 1.56212 10.8356 1.56212Z" fill="#FB5F7A"/>
<path d="M18.485 18.6485C18.2212 18.3848 17.7996 18.3723 17.5193 18.6183C15.5456 20.3511 12.893 21.3292 10.0123 21.102C5.09917 20.7145 1.11879 16.7339 0.731479 11.8208C0.50441 8.94025 1.48256 6.28788 3.21519 4.3143C3.46126 4.03403 3.44709 3.61138 3.18336 3.34766C1.37642 5.15274 0.197009 7.58634 0.0232257 10.2799C-0.397562 16.8019 4.95607 22.1858 11.468 21.8155C14.1882 21.6609 16.6595 20.4788 18.4881 18.6515L18.485 18.6485Z" fill="#F74455"/>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -0,0 +1,23 @@
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_8194_10077)">
<path d="M17.6 18.673C17.3521 18.4251 17.3521 18.0231 17.6 17.7752C19.4054 15.9698 20.3996 13.5678 20.3996 11.0115C20.3996 8.45525 19.4054 6.05318 17.6 4.24784C17.3521 3.99994 17.3521 3.59795 17.6 3.35001C17.8479 3.10208 18.2499 3.10208 18.4978 3.35001C20.543 5.39516 21.6694 8.11606 21.6694 11.0115C21.6694 13.9069 20.543 16.6278 18.4978 18.673C18.2503 18.9205 17.8484 18.9213 17.6 18.673Z" fill="#7AFFE4"/>
<path d="M15.6781 16.7502C15.4302 16.5023 15.4302 16.1003 15.6781 15.8524C16.9704 14.5602 17.6821 12.8408 17.6821 11.011C17.6821 9.18128 16.9705 7.46194 15.6781 6.1697C15.4302 5.92176 15.4302 5.51981 15.6781 5.27187C15.926 5.02398 16.328 5.02394 16.576 5.27187C18.1081 6.80393 18.9519 8.84213 18.9519 11.0111C18.9519 13.18 18.1081 15.2182 16.576 16.7503C16.3279 16.9982 15.926 16.9981 15.6781 16.7502Z" fill="#00DDC1"/>
<path d="M13.7543 14.8285C13.5064 14.5805 13.5064 14.1785 13.7543 13.9306C14.5331 13.152 14.9619 12.1158 14.9619 11.0131C14.9619 9.91034 14.5331 8.87416 13.7543 8.09548C13.5064 7.84758 13.5064 7.44559 13.7543 7.19765C14.0022 6.94976 14.4042 6.94972 14.6521 7.19765C15.6707 8.21619 16.2317 9.5712 16.2317 11.0131C16.2317 12.455 15.6707 13.81 14.6521 14.8285C14.4042 15.0764 14.0022 15.0763 13.7543 14.8285Z" fill="#7AFFE4"/>
<path d="M17.6 18.6732C17.8484 18.9216 18.2503 18.9207 18.4978 18.6732C20.543 16.6281 21.6694 13.9072 21.6694 11.0117H20.3996C20.3996 13.568 19.4054 15.97 17.6 17.7754C17.3521 18.0233 17.3521 18.4253 17.6 18.6732Z" fill="#00DDC1"/>
<path d="M15.6781 16.7509C15.926 16.9988 16.3279 16.9989 16.5759 16.7509C18.1081 15.2189 18.9518 13.1807 18.9518 11.0117H17.6821C17.6821 12.8415 16.9704 14.5608 15.6781 15.8531C15.4302 16.101 15.4302 16.503 15.6781 16.7509Z" fill="#00B4BC"/>
<path d="M13.7543 14.8272C14.0022 15.0751 14.4041 15.0751 14.6521 14.8272C15.6707 13.8086 16.2316 12.4536 16.2316 11.0117H14.9619C14.9619 12.1144 14.533 13.1506 13.7543 13.9293C13.5064 14.1772 13.5064 14.5792 13.7543 14.8272Z" fill="#00DDC1"/>
<path d="M3.17152 18.673C1.12633 16.6278 0 13.9069 0 11.0115C0 8.11604 1.12633 5.39515 3.17152 3.35C3.41946 3.10206 3.82141 3.10211 4.06935 3.35C4.31728 3.59793 4.31728 3.99989 4.06935 4.24782C2.26396 6.05316 1.26973 8.45523 1.26973 11.0115C1.26973 13.5677 2.26396 15.9698 4.06935 17.7751C4.31728 18.023 4.31728 18.425 4.06935 18.673C3.82141 18.921 3.41937 18.9209 3.17152 18.673Z" fill="#7AFFE4"/>
<path d="M5.09462 16.7503C3.56253 15.2182 2.71875 13.18 2.71875 11.0111C2.71875 8.84212 3.56253 6.80391 5.09466 5.27186C5.3426 5.02396 5.74459 5.02396 5.99249 5.27186C6.24038 5.51979 6.24038 5.92175 5.99249 6.16968C4.70016 7.46197 3.98848 9.1813 3.98848 11.0111C3.98848 12.8408 4.70016 14.5602 5.99249 15.8524C6.24042 16.1003 6.24042 16.5023 5.99249 16.7502C5.74489 16.9978 5.34294 16.9985 5.09462 16.7503Z" fill="#00DDC1"/>
<path d="M7.01704 14.8285C5.99847 13.81 5.4375 12.455 5.4375 11.0131C5.4375 9.5712 5.99847 8.21619 7.01704 7.19765C7.26498 6.94972 7.66697 6.94976 7.91486 7.19765C8.1628 7.44559 8.16276 7.84758 7.91486 8.09548C7.1361 8.87416 6.70723 9.91034 6.70723 11.0131C6.70723 12.1158 7.1361 13.152 7.91486 13.9306C8.1628 14.1785 8.1628 14.5805 7.91486 14.8285C7.66727 15.0761 7.26531 15.0768 7.01704 14.8285Z" fill="#7AFFE4"/>
<path d="M4.06935 18.6732C4.31728 18.4253 4.31728 18.0233 4.06935 17.7754C2.26396 15.97 1.26973 13.568 1.26973 11.0117H0C0 13.9072 1.12633 16.6281 3.17152 18.6732C3.41937 18.9211 3.82141 18.9212 4.06935 18.6732Z" fill="#00DDC1"/>
<path d="M5.99249 16.7509C6.24038 16.5029 6.24038 16.101 5.99249 15.8531C4.70016 14.5609 3.98848 12.8415 3.98848 11.0117H2.71875C2.71875 13.1807 3.56253 15.2189 5.09466 16.7509C5.34294 16.9992 5.74489 16.9985 5.99249 16.7509Z" fill="#00B4BC"/>
<path d="M7.91486 14.8271C8.1628 14.5792 8.16276 14.1772 7.91486 13.9293C7.1361 13.1506 6.70723 12.1144 6.70723 11.0117H5.4375C5.4375 12.4536 5.99846 13.8086 7.01704 14.8272C7.26527 15.0754 7.66722 15.0747 7.91486 14.8271Z" fill="#00DDC1"/>
<path d="M10.835 13.6857C12.3123 13.6857 13.5099 12.4881 13.5099 11.0108C13.5099 9.53353 12.3123 8.33594 10.835 8.33594C9.35775 8.33594 8.16016 9.53353 8.16016 11.0108C8.16016 12.4881 9.35775 13.6857 10.835 13.6857Z" fill="#00DDC1"/>
<path d="M10.835 13.6866C12.31 13.6866 13.5099 12.4866 13.5099 11.0117H8.16016C8.16016 12.4867 9.36009 13.6866 10.835 13.6866Z" fill="#00B4BC"/>
</g>
<defs>
<clipPath id="clip0_8194_10077">
<rect width="21.67" height="21.67" fill="white" transform="translate(0 0.164062)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -0,0 +1,21 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_6702_36698)">
<circle cx="20" cy="20" r="15" fill="#F4F4F4"/>
<path d="M26.4 13.1094H23.7333V12.582C23.7333 11.7097 23.0156 11 22.1333 11H17.8667C16.9844 11 16.2667 11.7097 16.2667 12.582V13.1094H13.6C12.7178 13.1094 12 13.8191 12 14.6914C12 15.392 12.4631 15.9873 13.1024 16.1947L14.0537 27.5493C14.1222 28.3628 14.8226 29 15.6481 29H24.3519C25.1775 29 25.8778 28.3628 25.9464 27.5491L26.8976 16.1947C27.5369 15.9873 28 15.392 28 14.6914C28 13.8191 27.2822 13.1094 26.4 13.1094ZM17.3333 12.582C17.3333 12.2913 17.5726 12.0547 17.8667 12.0547H22.1333C22.4274 12.0547 22.6667 12.2913 22.6667 12.582V13.1094H17.3333V12.582ZM24.8833 27.4618C24.8605 27.7329 24.6271 27.9453 24.3519 27.9453H15.6481C15.373 27.9453 15.1395 27.7329 15.1167 27.462L14.1793 16.2734H25.8207L24.8833 27.4618ZM26.4 15.2188H13.6C13.3059 15.2188 13.0667 14.9822 13.0667 14.6914C13.0667 14.4006 13.3059 14.1641 13.6 14.1641H26.4C26.6941 14.1641 26.9333 14.4006 26.9333 14.6914C26.9333 14.9822 26.6941 15.2188 26.4 15.2188Z" fill="#999999"/>
<path d="M17.8656 26.3307L17.3323 17.8229C17.314 17.5322 17.0596 17.3111 16.767 17.3292C16.473 17.3472 16.2494 17.5974 16.2676 17.8881L16.801 26.396C16.8185 26.6756 17.0533 26.8907 17.3328 26.8907C17.6416 26.8907 17.8846 26.6335 17.8656 26.3307Z" fill="#999999"/>
<path d="M20.0001 17.3281C19.7056 17.3281 19.4668 17.5642 19.4668 17.8555V26.3633C19.4668 26.6545 19.7056 26.8906 20.0001 26.8906C20.2947 26.8906 20.5335 26.6545 20.5335 26.3633V17.8555C20.5335 17.5642 20.2947 17.3281 20.0001 17.3281Z" fill="#999999"/>
<path d="M23.233 17.3292C22.9396 17.3111 22.6859 17.5321 22.6677 17.8229L22.1343 26.3307C22.1162 26.6213 22.3397 26.8716 22.6337 26.8896C22.9278 26.9076 23.1808 26.6865 23.199 26.3959L23.7323 17.8881C23.7505 17.5974 23.527 17.3472 23.233 17.3292Z" fill="#999999"/>
</g>
<defs>
<filter id="filter0_d_6702_36698" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6702_36698"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6702_36698" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -0,0 +1,25 @@
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_6702_36714)">
<circle cx="20" cy="20" r="15" fill="#F4F4F4"/>
<path d="M21.1979 12.3395L18.26 15.2772C17.7228 15.8146 17.3477 16.4536 17.1345 17.1328C16.437 17.3525 15.798 17.7393 15.2772 18.26L12.3395 21.1979C10.5536 22.9837 10.5534 25.8744 12.3395 27.6605C14.1253 29.4464 17.0161 29.4466 18.8022 27.6605L21.7399 24.7227C22.2773 24.1855 22.6522 23.5465 22.8655 22.8671C23.5631 22.6475 24.202 22.2607 24.7227 21.7399L27.6605 18.8022C29.4464 17.0162 29.4467 14.1256 27.6605 12.3395C25.8746 10.5536 22.984 10.5534 21.1979 12.3395ZM17.266 20.2484C17.4886 20.7914 17.8199 21.2998 18.26 21.7399C18.6877 22.1674 19.1965 22.5054 19.7513 22.7343L16.8137 25.6721C16.1284 26.3572 15.0133 26.3574 14.328 25.6721C13.6427 24.9867 13.6427 23.8717 14.328 23.1864L17.2657 20.2485C17.2659 20.2485 17.2659 20.2485 17.266 20.2484ZM21.2428 24.2256L18.3049 27.1633C16.7939 28.6745 14.3479 28.6747 12.8366 27.1633C11.3254 25.6523 11.3253 23.2062 12.8366 21.695L15.7744 18.7571C16.1166 18.4149 16.5191 18.1412 16.9579 17.9488C16.8924 18.4845 16.9223 19.014 17.0364 19.5199C16.9419 19.5905 16.8524 19.6676 16.7686 19.7514L13.8309 22.6892C12.8715 23.6487 12.8715 25.2097 13.8309 26.1691C14.7903 27.1285 16.3513 27.1285 17.3108 26.1691L20.2485 23.2313C21.2089 22.2709 21.209 20.7119 20.2485 19.7514C19.7355 19.2383 19.6105 18.4924 19.8554 17.8663C20.3734 18.059 20.8488 18.3631 21.2428 18.7571C22.7504 20.2647 22.7505 22.7179 21.2428 24.2256ZM27.1633 18.3049L24.2256 21.2428C23.8834 21.585 23.4809 21.8587 23.0421 22.0511C23.1076 21.5154 23.0777 20.986 22.9637 20.4801C23.058 20.4095 23.1477 20.3323 23.2313 20.2485L26.1692 17.3108C27.1286 16.3514 27.1286 14.7903 26.1692 13.8309C25.3077 12.9695 23.9604 12.8807 22.9987 13.5684C22.8408 13.6813 22.8044 13.9009 22.9173 14.0588C23.0301 14.2168 23.2497 14.2533 23.4077 14.1403C24.1093 13.6386 25.0615 13.7174 25.6721 14.328C26.3574 15.0133 26.3574 16.1283 25.6721 16.8137L22.7342 19.7514C22.7342 19.7514 22.7342 19.7514 22.7341 19.7515C22.5113 19.2085 22.1801 18.7002 21.7399 18.26C21.3124 17.8325 20.8035 17.4945 20.2487 17.2656L21.4465 16.0678C21.5837 15.9306 21.5837 15.708 21.4465 15.5707C21.3091 15.4335 21.0867 15.4335 20.9493 15.5707L19.7514 16.7686C18.7911 17.729 18.7909 19.2879 19.7514 20.2485C20.2645 20.7615 20.3894 21.5076 20.1446 22.1337C19.6266 21.941 19.1511 21.6368 18.7571 21.2427C17.2497 19.7352 17.2495 17.282 18.7571 15.7744L21.695 12.8366C23.2061 11.3254 25.6522 11.3252 27.1633 12.8366C28.6745 14.3476 28.6747 16.7937 27.1633 18.3049Z" fill="#999999"/>
<path d="M22.5443 14.8262C22.5443 15.0204 22.3869 15.1777 22.1929 15.1777C21.9987 15.1777 21.8413 15.0204 21.8413 14.8262C21.8413 14.632 21.9987 14.4746 22.1929 14.4746C22.3869 14.4746 22.5443 14.632 22.5443 14.8262Z" fill="#999999"/>
<path d="M15.7755 15.774C15.9128 15.6368 15.9128 15.4142 15.7755 15.2769L14.2841 13.7855C14.1468 13.6483 13.9243 13.6483 13.787 13.7855C13.6498 13.9228 13.6498 14.1455 13.787 14.2828L15.2784 15.7742C15.4158 15.9114 15.6383 15.9114 15.7755 15.774Z" fill="#999999"/>
<path d="M12.3378 16.9062C12.1437 16.9062 11.9863 17.0636 11.9863 17.2577C11.9863 17.4519 12.1437 17.6092 12.3378 17.6092H14.447C14.641 17.6092 14.7984 17.4519 14.7984 17.2577C14.7984 17.0636 14.641 16.9062 14.447 16.9062H12.3378Z" fill="#999999"/>
<path d="M16.9062 12.2314V14.3405C16.9062 14.5346 17.0636 14.6921 17.2577 14.6921C17.4519 14.6921 17.6092 14.5346 17.6092 14.3405V12.2314C17.6092 12.0373 17.4519 11.8799 17.2577 11.8799C17.0636 11.8799 16.9062 12.0373 16.9062 12.2314Z" fill="#999999"/>
<path d="M24.227 24.2259C24.0897 24.3631 24.0897 24.5857 24.227 24.7231L25.7184 26.2145C25.7871 26.2831 25.877 26.3175 25.967 26.3175C26.2772 26.3175 26.4377 25.9397 26.2155 25.7173L24.7242 24.2259C24.5868 24.0887 24.3643 24.0887 24.227 24.2259Z" fill="#999999"/>
<path d="M23.0605 27.7673V25.6581C23.0605 25.464 22.903 25.3066 22.709 25.3066C22.5148 25.3066 22.3574 25.464 22.3574 25.6581V27.7673C22.3574 27.9614 22.5148 28.1187 22.709 28.1187C22.903 28.1187 23.0605 27.9614 23.0605 27.7673Z" fill="#999999"/>
<path d="M27.7693 23.0586C27.9633 23.0586 28.1207 22.9011 28.1207 22.707C28.1207 22.5128 27.9633 22.3555 27.7693 22.3555H25.66C25.466 22.3555 25.3086 22.5128 25.3086 22.707C25.3086 22.9011 25.466 23.0586 25.66 23.0586H27.7693Z" fill="#999999"/>
</g>
<defs>
<filter id="filter0_d_6702_36714" x="0" y="0" width="40" height="40" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feComposite in2="hardAlpha" operator="out"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_6702_36714"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_6702_36714" result="shape"/>
</filter>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@ -0,0 +1,3 @@
<svg width="60" height="60" viewBox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M43.2614 20.4808C44.1769 21.3963 44.1769 22.8804 43.2614 23.7955L27.5381 39.5192C26.6226 40.4343 25.139 40.4343 24.2235 39.5192L16.7386 32.0338C15.8231 31.1188 15.8231 29.6347 16.7386 28.7196C17.6537 27.8041 19.1377 27.8041 20.0528 28.7196L25.8806 34.5474L39.9467 20.4808C40.8623 19.5657 42.3463 19.5657 43.2614 20.4808ZM60 30C60 46.5825 46.5802 60 30 60C13.4175 60 0 46.5802 0 30C0 13.4175 13.4198 0 30 0C46.5825 0 60 13.4198 60 30ZM55.3125 30C55.3125 16.0085 43.9897 4.6875 30 4.6875C16.0085 4.6875 4.6875 16.0103 4.6875 30C4.6875 43.9915 16.0103 55.3125 30 55.3125C43.9915 55.3125 55.3125 43.9897 55.3125 30Z" fill="#023DFE" fill-opacity="0.7"/>
</svg>

After

Width:  |  Height:  |  Size: 761 B

1
firebase.json Normal file
View File

@ -0,0 +1 @@
{"flutter":{"platforms":{"android":{"default":{"projectId":"test2-8a3d2","appId":"1:427332280600:android:2bc36fbe82994a3e0c7e6d","fileOutput":"android/app/google-services.json"}},"ios":{"default":{"projectId":"test2-8a3d2","appId":"1:427332280600:ios:14346b200780dc760c7e6d","uploadDebugSymbols":true,"fileOutput":"ios/Runner/GoogleService-Info.plist"}},"macos":{"default":{"projectId":"test2-8a3d2","appId":"1:427332280600:ios:14346b200780dc760c7e6d","uploadDebugSymbols":true,"fileOutput":"macos/Runner/GoogleService-Info.plist"}},"dart":{"lib/firebase_options.dart":{"projectId":"test2-8a3d2","configurations":{"android":"1:427332280600:android:2bc36fbe82994a3e0c7e6d","ios":"1:427332280600:ios:14346b200780dc760c7e6d","macos":"1:427332280600:ios:14346b200780dc760c7e6d","web":"1:427332280600:web:ad50516a87a35a1a0c7e6d","windows":"1:427332280600:web:f7a25537ccd5a7bd0c7e6d"}}}}}}

View File

@ -15,6 +15,7 @@
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
E44A9405B1EB1B638DD05A58 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7ABF0EC746A2D686A0ED574F /* Pods_RunnerTests.framework */; };
F2A3345EC3021060731668D3 /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = B14AB50E8716720E10D074BD /* GoogleService-Info.plist */; };
FF49F60EC38658783D8D66DA /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AFAE479A87ECDEBD5D6EB30 /* Pods_Runner.framework */; };
/* End PBXBuildFile section */
@ -64,6 +65,7 @@
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
B14AB50E8716720E10D074BD /* GoogleService-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; name = "GoogleService-Info.plist"; path = "Runner/GoogleService-Info.plist"; sourceTree = "<group>"; };
D3AD250AADBF93406007C9EB /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -138,6 +140,7 @@
331C8082294A63A400263BE5 /* RunnerTests */,
1454C118FFCECEEDF59152D2 /* Pods */,
20A3C64D2B1CFED5A81C3251 /* Frameworks */,
B14AB50E8716720E10D074BD /* GoogleService-Info.plist */,
);
sourceTree = "<group>";
};
@ -199,6 +202,7 @@
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
33590C9CD073D3D5EBA02CDE /* [CP] Embed Pods Frameworks */,
7A77858F6F15CB76D2D3A872 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */,
);
buildRules = (
);
@ -264,6 +268,7 @@
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
F2A3345EC3021060731668D3 /* GoogleService-Info.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -303,6 +308,24 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
7A77858F6F15CB76D2D3A872 /* FlutterFire: "flutterfire upload-crashlytics-symbols" */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
);
name = "FlutterFire: \"flutterfire upload-crashlytics-symbols\"";
outputFileListPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\n#!/bin/bash\nPATH=\"${PATH}:$FLUTTER_ROOT/bin:$HOME/.pub-cache/bin\"\nflutterfire upload-crashlytics-symbols --upload-symbols-script-path=\"$PODS_ROOT/FirebaseCrashlytics/upload-symbols\" --platform=ios --apple-project-path=\"${SRCROOT}\" --env-platform-name=\"${PLATFORM_NAME}\" --env-configuration=\"${CONFIGURATION}\" --env-project-dir=\"${PROJECT_DIR}\" --env-built-products-dir=\"${BUILT_PRODUCTS_DIR}\" --env-dwarf-dsym-folder-path=\"${DWARF_DSYM_FOLDER_PATH}\" --env-dwarf-dsym-file-name=\"${DWARF_DSYM_FILE_NAME}\" --env-infoplist-path=\"${INFOPLIST_PATH}\" --default-config=default\n";
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>API_KEY</key>
<string>AIzaSyABnpH6yo2RRjtkp4PlvtK84hKwRm2DhBw</string>
<key>GCM_SENDER_ID</key>
<string>427332280600</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.example.syncrowWeb</string>
<key>PROJECT_ID</key>
<string>test2-8a3d2</string>
<key>STORAGE_BUCKET</key>
<string>test2-8a3d2.firebasestorage.app</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:427332280600:ios:14346b200780dc760c7e6d</string>
<key>DATABASE_URL</key>
<string>https://test2-8a3d2-default-rtdb.firebaseio.com</string>
</dict>
</plist>

View File

@ -1,35 +1,38 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart';
import 'package:syncrow_web/utils/color_manager.dart';
class DialogTextfieldDropdown extends StatefulWidget {
final List<String> items;
final ValueChanged<String> onSelected;
final String? initialValue;
class TagDialogTextfieldDropdown extends StatefulWidget {
final List<Tag> items;
final ValueChanged<Tag> onSelected;
final Tag? initialValue;
final String product;
const DialogTextfieldDropdown({
const TagDialogTextfieldDropdown({
Key? key,
required this.items,
required this.onSelected,
this.initialValue,
required this.product,
}) : super(key: key);
@override
_DialogTextfieldDropdownState createState() =>
_DialogTextfieldDropdownState();
_DialogTextfieldDropdownState createState() => _DialogTextfieldDropdownState();
}
class _DialogTextfieldDropdownState extends State<DialogTextfieldDropdown> {
class _DialogTextfieldDropdownState extends State<TagDialogTextfieldDropdown> {
bool _isOpen = false;
OverlayEntry? _overlayEntry;
final TextEditingController _controller = TextEditingController();
final FocusNode _focusNode = FocusNode();
List<String> _filteredItems = [];
List<Tag> _filteredItems = [];
@override
void initState() {
super.initState();
_controller.text = widget.initialValue ?? '';
_filteredItems = List.from(widget.items);
_controller.text = widget.initialValue?.tag ?? '';
_filterItems();
_focusNode.addListener(() {
if (!_focusNode.hasFocus) {
@ -38,6 +41,12 @@ class _DialogTextfieldDropdownState extends State<DialogTextfieldDropdown> {
});
}
void _filterItems() {
setState(() {
_filteredItems = widget.items.where((tag) => tag.product?.uuid == widget.product).toList();
});
}
void _toggleDropdown() {
if (_isOpen) {
_closeDropdown();
@ -87,20 +96,32 @@ class _DialogTextfieldDropdownState extends State<DialogTextfieldDropdown> {
shrinkWrap: true,
itemCount: _filteredItems.length,
itemBuilder: (context, index) {
final item = _filteredItems[index];
return ListTile(
title: Text(item,
style: Theme.of(context)
.textTheme
.bodyMedium
?.copyWith(
color:
ColorsManager.textPrimaryColor)),
onTap: () {
_controller.text = item;
widget.onSelected(item);
_closeDropdown();
},
final tag = _filteredItems[index];
return Container(
decoration: const BoxDecoration(
border: Border(
bottom: BorderSide(
color: ColorsManager.lightGrayBorderColor,
width: 1.0,
),
),
),
child: ListTile(
title: Text(tag.tag ?? '',
style: Theme.of(context)
.textTheme
.bodyMedium
?.copyWith(color: ColorsManager.textPrimaryColor)),
onTap: () {
_controller.text = tag.tag ?? '';
widget.onSelected(tag);
setState(() {
_filteredItems.remove(tag);
});
_closeDropdown();
},
),
);
},
);
@ -135,11 +156,14 @@ class _DialogTextfieldDropdownState extends State<DialogTextfieldDropdown> {
controller: _controller,
focusNode: _focusNode,
onFieldSubmitted: (value) {
widget.onSelected(value);
final selectedTag = _filteredItems.firstWhere((tag) => tag.tag == value,
orElse: () => Tag(tag: value));
widget.onSelected(selectedTag);
_closeDropdown();
},
onTapOutside: (event) {
widget.onSelected(_controller.text);
widget.onSelected(_filteredItems.firstWhere((tag) => tag.tag == _controller.text,
orElse: () => Tag(tag: _controller.text)));
_closeDropdown();
},
style: Theme.of(context).textTheme.bodyMedium,

View File

@ -56,24 +56,6 @@ class CustomExpansionTileState extends State<CustomExpansionTile> {
children: [
Row(
children: [
// Checkbox with independent state management
Checkbox(
value: false,
onChanged: (bool? value) {
setState(() {});
},
side: WidgetStateBorderSide.resolveWith((states) {
return const BorderSide(color: ColorsManager.grayBorder);
}),
fillColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.selected)) {
return ColorsManager.grayBorder;
} else {
return ColorsManager.checkBoxFillColor;
}
}),
checkColor: ColorsManager.whiteColors,
),
// Expand/collapse icon, now wrapped in a GestureDetector for specific onTap
if (widget.children != null && widget.children!.isNotEmpty)
GestureDetector(
@ -84,7 +66,9 @@ class CustomExpansionTileState extends State<CustomExpansionTile> {
});
},
child: Icon(
_isExpanded ? Icons.keyboard_arrow_down : Icons.keyboard_arrow_right,
_isExpanded
? Icons.keyboard_arrow_down
: Icons.keyboard_arrow_right,
color: ColorsManager.lightGrayColor,
size: 16.0, // Adjusted size for better alignment
),
@ -101,8 +85,10 @@ class CustomExpansionTileState extends State<CustomExpansionTile> {
_capitalizeFirstLetter(widget.title),
style: TextStyle(
color: widget.isSelected
? ColorsManager.blackColor // Change color to black when selected
: ColorsManager.lightGrayColor, // Gray when not selected
? ColorsManager
.blackColor // Change color to black when selected
: ColorsManager
.lightGrayColor, // Gray when not selected
fontWeight: FontWeight.w400,
),
),
@ -111,9 +97,11 @@ class CustomExpansionTileState extends State<CustomExpansionTile> {
],
),
// The expanded section (children) that shows when the tile is expanded
if (_isExpanded && widget.children != null && widget.children!.isNotEmpty)
if (_isExpanded &&
widget.children != null &&
widget.children!.isNotEmpty)
Padding(
padding: const EdgeInsets.only(left: 48.0), // Indented children
padding: const EdgeInsets.only(left: 24.0), // Indented children
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: widget.children!,

View File

@ -0,0 +1,26 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
class EmptySearchResultWidget extends StatelessWidget {
const EmptySearchResultWidget({
this.message = 'No results found',
super.key,
});
final String message;
@override
Widget build(BuildContext context) {
return Center(
child: Text(
message,
textAlign: TextAlign.center,
style: context.textTheme.bodySmall?.copyWith(
color: ColorsManager.lightGreyColor,
fontWeight: FontWeight.w400,
),
),
);
}
}

View File

@ -0,0 +1,53 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/community_model.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
class SidebarCommunitiesList extends StatelessWidget {
const SidebarCommunitiesList({
required this.communities,
required this.itemBuilder,
required this.scrollController,
required this.onScrollToEnd,
super.key,
});
final List<CommunityModel> communities;
final Widget Function(BuildContext context, int index) itemBuilder;
final ScrollController scrollController;
final void Function() onScrollToEnd;
bool _onNotification(ScrollEndNotification notification) {
final hasReachedEnd = notification.metrics.extentAfter == 0;
if (hasReachedEnd) {
onScrollToEnd.call();
return true;
}
return false;
}
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: SizedBox(
width: context.screenWidth * 0.5,
child: Scrollbar(
scrollbarOrientation: ScrollbarOrientation.left,
thumbVisibility: true,
controller: scrollController,
child: NotificationListener<ScrollEndNotification>(
onNotification: _onNotification,
child: ListView.builder(
shrinkWrap: true,
padding: const EdgeInsetsDirectional.only(start: 16),
itemCount: communities.length,
controller: scrollController,
itemBuilder: itemBuilder,
),
),
),
),
);
}
}

View File

@ -0,0 +1,93 @@
// File generated by FlutterFire CLI.
// ignore_for_file: type=lint
import 'package:firebase_core/firebase_core.dart' show FirebaseOptions;
import 'package:flutter/foundation.dart'
show defaultTargetPlatform, kIsWeb, TargetPlatform;
/// Default [FirebaseOptions] for use with your Firebase apps.
///
/// Example:
/// ```dart
/// import 'firebase_options.dart';
/// // ...
/// await Firebase.initializeApp(
/// options: DefaultFirebaseOptions.currentPlatform,
/// );
/// ```
class DefaultFirebaseOptionsDev {
static FirebaseOptions get currentPlatform {
if (kIsWeb) {
return web;
}
switch (defaultTargetPlatform) {
case TargetPlatform.android:
return android;
case TargetPlatform.iOS:
return ios;
case TargetPlatform.macOS:
return macos;
case TargetPlatform.windows:
return windows;
case TargetPlatform.linux:
throw UnsupportedError(
'DefaultFirebaseOptions have not been configured for linux - '
'you can reconfigure this by running the FlutterFire CLI again.',
);
default:
throw UnsupportedError(
'DefaultFirebaseOptions are not supported for this platform.',
);
}
}
static const FirebaseOptions web = FirebaseOptions(
apiKey: 'AIzaSyCVEvKsJYzhWDFM-9Od68FE0nPpP933st0',
appId: '1:427332280600:web:ad50516a87a35a1a0c7e6d',
messagingSenderId: '427332280600',
projectId: 'test2-8a3d2',
authDomain: 'test2-8a3d2.firebaseapp.com',
databaseURL: 'https://test2-8a3d2-default-rtdb.firebaseio.com',
storageBucket: 'test2-8a3d2.firebasestorage.app',
measurementId: 'G-Z1RTTTV5H9',
);
static const FirebaseOptions android = FirebaseOptions(
apiKey: 'AIzaSyA5qOErxdm0zJmoHIB0TixfebYEsNRpwV0',
appId: '1:427332280600:android:2bc36fbe82994a3e0c7e6d',
messagingSenderId: '427332280600',
projectId: 'test2-8a3d2',
databaseURL: 'https://test2-8a3d2-default-rtdb.firebaseio.com',
storageBucket: 'test2-8a3d2.firebasestorage.app',
);
static const FirebaseOptions ios = FirebaseOptions(
apiKey: 'AIzaSyABnpH6yo2RRjtkp4PlvtK84hKwRm2DhBw',
appId: '1:427332280600:ios:14346b200780dc760c7e6d',
messagingSenderId: '427332280600',
projectId: 'test2-8a3d2',
databaseURL: 'https://test2-8a3d2-default-rtdb.firebaseio.com',
storageBucket: 'test2-8a3d2.firebasestorage.app',
iosBundleId: 'com.example.syncrowWeb',
);
static const FirebaseOptions macos = FirebaseOptions(
apiKey: 'AIzaSyABnpH6yo2RRjtkp4PlvtK84hKwRm2DhBw',
appId: '1:427332280600:ios:14346b200780dc760c7e6d',
messagingSenderId: '427332280600',
projectId: 'test2-8a3d2',
databaseURL: 'https://test2-8a3d2-default-rtdb.firebaseio.com',
storageBucket: 'test2-8a3d2.firebasestorage.app',
iosBundleId: 'com.example.syncrowWeb',
);
static const FirebaseOptions windows = FirebaseOptions(
apiKey: 'AIzaSyDizKjPC5rdkEjDxwXjM-RU5unB0Ziq3iw',
appId: '1:427332280600:web:f7a25537ccd5a7bd0c7e6d',
messagingSenderId: '427332280600',
projectId: 'test2-8a3d2',
authDomain: 'test2-8a3d2.firebaseapp.com',
databaseURL: 'https://test2-8a3d2-default-rtdb.firebaseio.com',
storageBucket: 'test2-8a3d2.firebasestorage.app',
measurementId: 'G-4LFVXEXWKY',
);
}

View File

@ -0,0 +1,77 @@
// File generated by FlutterFire CLI.
// ignore_for_file: type=lint
import 'package:firebase_core/firebase_core.dart' show FirebaseOptions;
import 'package:flutter/foundation.dart' show defaultTargetPlatform, kIsWeb, TargetPlatform;
/// Default [FirebaseOptions] for use with your Firebase apps.
///
/// Example:
/// ```dart
/// import 'firebase_options.dart';
/// // ...
/// await Firebase.initializeApp(
/// options: DefaultFirebaseOptions.currentPlatform,
/// );
/// ```
class DefaultFirebaseOptionsStaging {
static FirebaseOptions get currentPlatform {
if (kIsWeb) {
return web;
}
switch (defaultTargetPlatform) {
case TargetPlatform.android:
return android;
case TargetPlatform.iOS:
return ios;
case TargetPlatform.macOS:
throw UnsupportedError(
'DefaultFirebaseOptions have not been configured for macos - '
'you can reconfigure this by running the FlutterFire CLI again.',
);
case TargetPlatform.windows:
throw UnsupportedError(
'DefaultFirebaseOptions have not been configured for windows - '
'you can reconfigure this by running the FlutterFire CLI again.',
);
case TargetPlatform.linux:
throw UnsupportedError(
'DefaultFirebaseOptions have not been configured for linux - '
'you can reconfigure this by running the FlutterFire CLI again.',
);
default:
throw UnsupportedError(
'DefaultFirebaseOptions are not supported for this platform.',
);
}
}
static const FirebaseOptions android = FirebaseOptions(
apiKey: 'AIzaSyDP9GpYfLE8gHTj3kZ1hW8fx_FkJqOqSQk',
appId: '1:786692570726:android:0ef7079c2b978d4417b7a7',
messagingSenderId: '786692570726',
projectId: 'syncrow-staging',
databaseURL: 'https://syncrow-staging-default-rtdb.firebaseio.com',
storageBucket: 'syncrow-staging.appspot.com',
);
static const FirebaseOptions ios = FirebaseOptions(
apiKey: 'AIzaSyAWlRiuJ75FMlf2_UDdri1voWKvkaSHtRg',
appId: '1:786692570726:ios:455a6fcff77e130f17b7a7',
messagingSenderId: '786692570726',
projectId: 'syncrow-staging',
databaseURL: 'https://syncrow-staging-default-rtdb.firebaseio.com',
storageBucket: 'syncrow-staging.appspot.com',
iosBundleId: 'com.example.syncrow.app',
);
static const FirebaseOptions web = FirebaseOptions(
apiKey: 'AIzaSyDyGaQ3sZhb4meaY6sGke-YglhdhJ2is8Q',
appId: '1:786692570726:web:93c931e6701797b317b7a7',
messagingSenderId: '786692570726',
projectId: 'syncrow-staging',
authDomain: 'syncrow-staging.firebaseapp.com',
databaseURL: 'https://syncrow-staging-default-rtdb.firebaseio.com',
storageBucket: 'syncrow-staging.appspot.com',
measurementId: 'G-CZ3J3G6LMQ',
);
}

View File

@ -1,11 +1,14 @@
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:go_router/go_router.dart';
import 'package:syncrow_web/firebase_options_prod.dart';
import 'package:syncrow_web/pages/auth/bloc/auth_bloc.dart';
import 'package:syncrow_web/pages/home/bloc/home_bloc.dart';
import 'package:syncrow_web/pages/home/bloc/home_event.dart';
import 'package:syncrow_web/pages/routines/bloc/create_routine_bloc/create_routine_bloc.dart';
import 'package:syncrow_web/pages/routines/bloc/routine_bloc/routine_bloc.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_event.dart';
@ -18,16 +21,19 @@ import 'package:syncrow_web/utils/theme/theme.dart';
Future<void> main() async {
try {
const environment = String.fromEnvironment('FLAVOR', defaultValue: 'development');
const environment =
String.fromEnvironment('FLAVOR', defaultValue: 'production');
await dotenv.load(fileName: '.env.$environment');
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptionsStaging.currentPlatform,
);
initialSetup();
} catch (_) {}
runApp(MyApp());
}
class MyApp extends StatelessWidget {
MyApp({super.key});
final GoRouter _router = GoRouter(
@ -49,7 +55,11 @@ class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider(create: (context) => HomeBloc()..add(const FetchUserInfo())),
BlocProvider<CreateRoutineBloc>(
create: (context) => CreateRoutineBloc(),
),
BlocProvider(
create: (context) => HomeBloc()..add(const FetchUserInfo())),
BlocProvider<VisitorPasswordBloc>(
create: (context) => VisitorPasswordBloc(),
),

87
lib/main_dev.dart Normal file
View File

@ -0,0 +1,87 @@
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:go_router/go_router.dart';
import 'package:syncrow_web/firebase_options_dev.dart';
import 'package:syncrow_web/pages/auth/bloc/auth_bloc.dart';
import 'package:syncrow_web/pages/home/bloc/home_bloc.dart';
import 'package:syncrow_web/pages/home/bloc/home_event.dart';
import 'package:syncrow_web/pages/routines/bloc/create_routine_bloc/create_routine_bloc.dart';
import 'package:syncrow_web/pages/routines/bloc/routine_bloc/routine_bloc.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_event.dart';
import 'package:syncrow_web/pages/visitor_password/bloc/visitor_password_bloc.dart';
import 'package:syncrow_web/services/locator.dart';
import 'package:syncrow_web/utils/app_routes.dart';
import 'package:syncrow_web/utils/constants/routes_const.dart';
import 'package:syncrow_web/utils/navigation_service.dart';
import 'package:syncrow_web/utils/theme/theme.dart';
Future<void> main() async {
try {
const environment = String.fromEnvironment('FLAVOR', defaultValue: 'development');
await dotenv.load(fileName: '.env.$environment');
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptionsDev.currentPlatform,
);
initialSetup();
} catch (_) {}
runApp(MyApp());
}
class MyApp extends StatelessWidget {
MyApp({super.key});
final GoRouter _router = GoRouter(
initialLocation: RoutesConst.auth,
routes: AppRoutes.getRoutes(),
redirect: (context, state) async {
String checkToken = await AuthBloc.getTokenAndValidate();
final loggedIn = checkToken == 'Success';
final goingToLogin = state.uri.toString() == RoutesConst.auth;
if (!loggedIn && !goingToLogin) return RoutesConst.auth;
if (loggedIn && goingToLogin) return RoutesConst.home;
return null;
},
);
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider<CreateRoutineBloc>(
create: (context) => CreateRoutineBloc(),
),
BlocProvider(create: (context) => HomeBloc()..add(const FetchUserInfo())),
BlocProvider<VisitorPasswordBloc>(
create: (context) => VisitorPasswordBloc(),
),
BlocProvider<RoutineBloc>(
create: (context) => RoutineBloc(),
),
BlocProvider<SpaceTreeBloc>(
create: (context) => SpaceTreeBloc()..add(InitialEvent()),
),
],
child: MaterialApp.router(
debugShowCheckedModeBanner: false,
scrollBehavior: const MaterialScrollBehavior().copyWith(
dragDevices: {
PointerDeviceKind.mouse,
PointerDeviceKind.touch,
PointerDeviceKind.stylus,
PointerDeviceKind.unknown,
},
),
key: NavigationService.navigatorKey,
// scaffoldMessengerKey: NavigationService.snackbarKey,
theme: myTheme,
routerConfig: _router,
));
}
}

87
lib/main_staging.dart Normal file
View File

@ -0,0 +1,87 @@
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
import 'package:go_router/go_router.dart';
import 'package:syncrow_web/firebase_options_prod.dart';
import 'package:syncrow_web/pages/auth/bloc/auth_bloc.dart';
import 'package:syncrow_web/pages/home/bloc/home_bloc.dart';
import 'package:syncrow_web/pages/home/bloc/home_event.dart';
import 'package:syncrow_web/pages/routines/bloc/create_routine_bloc/create_routine_bloc.dart';
import 'package:syncrow_web/pages/routines/bloc/routine_bloc/routine_bloc.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_event.dart';
import 'package:syncrow_web/pages/visitor_password/bloc/visitor_password_bloc.dart';
import 'package:syncrow_web/services/locator.dart';
import 'package:syncrow_web/utils/app_routes.dart';
import 'package:syncrow_web/utils/constants/routes_const.dart';
import 'package:syncrow_web/utils/navigation_service.dart';
import 'package:syncrow_web/utils/theme/theme.dart';
Future<void> main() async {
try {
const environment = String.fromEnvironment('FLAVOR', defaultValue: 'staging');
await dotenv.load(fileName: '.env.$environment');
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptionsStaging.currentPlatform,
);
initialSetup();
} catch (_) {}
runApp(MyApp());
}
class MyApp extends StatelessWidget {
MyApp({super.key});
final GoRouter _router = GoRouter(
initialLocation: RoutesConst.auth,
routes: AppRoutes.getRoutes(),
redirect: (context, state) async {
String checkToken = await AuthBloc.getTokenAndValidate();
final loggedIn = checkToken == 'Success';
final goingToLogin = state.uri.toString() == RoutesConst.auth;
if (!loggedIn && !goingToLogin) return RoutesConst.auth;
if (loggedIn && goingToLogin) return RoutesConst.home;
return null;
},
);
@override
Widget build(BuildContext context) {
return MultiBlocProvider(
providers: [
BlocProvider<CreateRoutineBloc>(
create: (context) => CreateRoutineBloc(),
),
BlocProvider(create: (context) => HomeBloc()..add(const FetchUserInfo())),
BlocProvider<VisitorPasswordBloc>(
create: (context) => VisitorPasswordBloc(),
),
BlocProvider<RoutineBloc>(
create: (context) => RoutineBloc(),
),
BlocProvider<SpaceTreeBloc>(
create: (context) => SpaceTreeBloc()..add(InitialEvent()),
),
],
child: MaterialApp.router(
debugShowCheckedModeBanner: false,
scrollBehavior: const MaterialScrollBehavior().copyWith(
dragDevices: {
PointerDeviceKind.mouse,
PointerDeviceKind.touch,
PointerDeviceKind.stylus,
PointerDeviceKind.unknown,
},
),
key: NavigationService.navigatorKey,
// scaffoldMessengerKey: NavigationService.snackbarKey,
theme: myTheme,
routerConfig: _router,
));
}
}

View File

@ -8,9 +8,6 @@ import 'package:syncrow_web/pages/common/hour_picker_dialog.dart';
import 'package:syncrow_web/services/access_mang_api.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/constants/app_enum.dart';
import 'package:syncrow_web/utils/constants/strings_manager.dart';
import 'package:syncrow_web/utils/constants/temp_const.dart';
import 'package:syncrow_web/utils/helpers/shared_preferences_helper.dart';
import 'package:syncrow_web/utils/snack_bar.dart';
class AccessBloc extends Bloc<AccessEvent, AccessState> {

View File

@ -3,7 +3,6 @@ import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_web/pages/access_management/bloc/access_bloc.dart';
import 'package:syncrow_web/pages/access_management/bloc/access_event.dart';
import 'package:syncrow_web/pages/access_management/bloc/access_state.dart';
import 'package:syncrow_web/pages/common/bloc/project_manager.dart';
import 'package:syncrow_web/pages/common/buttons/default_button.dart';
import 'package:syncrow_web/pages/common/buttons/search_reset_buttons.dart';
import 'package:syncrow_web/pages/common/custom_table.dart';
@ -18,6 +17,7 @@ import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
import 'package:syncrow_web/utils/style.dart';
import 'package:syncrow_web/utils/theme/responsive_text_theme.dart';
import 'package:syncrow_web/web_layout/web_scaffold.dart';
class AccessManagementPage extends StatelessWidget with HelperResponsiveLayout {
@ -33,11 +33,9 @@ class AccessManagementPage extends StatelessWidget with HelperResponsiveLayout {
return WebScaffold(
enableMenuSidebar: false,
appBarTitle: FittedBox(
child: Text(
'Access Management',
style: Theme.of(context).textTheme.headlineLarge,
),
appBarTitle: Text(
'Access Management',
style: ResponsiveTextTheme.of(context).deviceManagementTitle,
),
rightBody: const NavigateHomeGridView(),
scaffoldBody: BlocProvider(

View File

@ -10,6 +10,9 @@ import 'package:syncrow_web/pages/auth/model/region_model.dart';
import 'package:syncrow_web/pages/auth/model/token.dart';
import 'package:syncrow_web/pages/auth/model/user_model.dart';
import 'package:syncrow_web/pages/common/bloc/project_manager.dart';
import 'package:syncrow_web/pages/home/bloc/home_bloc.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_event.dart';
import 'package:syncrow_web/services/auth_api.dart';
import 'package:syncrow_web/utils/constants/strings_manager.dart';
import 'package:syncrow_web/utils/helpers/shared_preferences_helper.dart';
@ -32,8 +35,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
////////////////////////////// forget password //////////////////////////////////
final TextEditingController forgetEmailController = TextEditingController();
final TextEditingController forgetPasswordController =
TextEditingController();
final TextEditingController forgetPasswordController = TextEditingController();
final TextEditingController forgetOtp = TextEditingController();
final forgetFormKey = GlobalKey<FormState>();
final forgetEmailKey = GlobalKey<FormState>();
@ -50,8 +52,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
return;
}
_remainingTime = 1;
add(UpdateTimerEvent(
remainingTime: _remainingTime, isButtonEnabled: false));
add(UpdateTimerEvent(remainingTime: _remainingTime, isButtonEnabled: false));
try {
forgetEmailValidate = '';
_remainingTime = (await AuthenticationAPI.sendOtp(
@ -88,8 +89,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
_timer?.cancel();
add(const UpdateTimerEvent(remainingTime: 0, isButtonEnabled: true));
} else {
add(UpdateTimerEvent(
remainingTime: _remainingTime, isButtonEnabled: false));
add(UpdateTimerEvent(remainingTime: _remainingTime, isButtonEnabled: false));
}
});
}
@ -99,8 +99,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
emit(const TimerState(isButtonEnabled: true, remainingTime: 0));
}
Future<void> changePassword(
ChangePasswordEvent event, Emitter<AuthState> emit) async {
Future<void> changePassword(ChangePasswordEvent event, Emitter<AuthState> emit) async {
emit(LoadingForgetState());
try {
var response = await AuthenticationAPI.verifyOtp(
@ -116,8 +115,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
}
} on DioException catch (e) {
final errorData = e.response!.data;
String errorMessage =
errorData['error']['message'] ?? 'something went wrong';
String errorMessage = errorData['error']['message'] ?? 'something went wrong';
validate = errorMessage;
emit(AuthInitialState());
}
@ -131,9 +129,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
}
void _onUpdateTimer(UpdateTimerEvent event, Emitter<AuthState> emit) {
emit(TimerState(
isButtonEnabled: event.isButtonEnabled,
remainingTime: event.remainingTime));
emit(TimerState(isButtonEnabled: event.isButtonEnabled, remainingTime: event.remainingTime));
}
///////////////////////////////////// login /////////////////////////////////////
@ -183,15 +179,13 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
if (token.accessTokenIsNotEmpty) {
FlutterSecureStorage storage = const FlutterSecureStorage();
await storage.write(
key: Token.loginAccessTokenKey, value: token.accessToken);
await storage.write(key: Token.loginAccessTokenKey, value: token.accessToken);
const FlutterSecureStorage().write(
key: UserModel.userUuidKey,
value: Token.decodeToken(token.accessToken)['uuid'].toString());
user = UserModel.fromToken(token);
loginEmailController.clear();
loginPasswordController.clear();
debugPrint("token " + token.accessToken);
emit(LoginSuccess());
} else {
emit(const LoginFailure(error: 'Something went wrong'));
@ -342,14 +336,12 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
static Future<String> getTokenAndValidate() async {
try {
const storage = FlutterSecureStorage();
final firstLaunch = await SharedPreferencesHelper.readBoolFromSP(
StringsManager.firstLaunch) ??
true;
final firstLaunch =
await SharedPreferencesHelper.readBoolFromSP(StringsManager.firstLaunch) ?? true;
if (firstLaunch) {
storage.deleteAll();
}
await SharedPreferencesHelper.saveBoolToSP(
StringsManager.firstLaunch, false);
await SharedPreferencesHelper.saveBoolToSP(StringsManager.firstLaunch, false);
final value = await storage.read(key: Token.loginAccessTokenKey) ?? '';
if (value.isEmpty) {
return 'Token not found';
@ -402,9 +394,7 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
final String formattedTime = [
if (days > 0) '${days}d', // Append 'd' for days
if (days > 0 || hours > 0)
hours
.toString()
.padLeft(2, '0'), // Show hours if there are days or hours
hours.toString().padLeft(2, '0'), // Show hours if there are days or hours
minutes.toString().padLeft(2, '0'),
seconds.toString().padLeft(2, '0'),
].join(':');
@ -443,8 +433,13 @@ class AuthBloc extends Bloc<AuthEvent, AuthState> {
}
static Future<void> logout(BuildContext context) async {
final storage = FlutterSecureStorage();
ProjectManager.clearProjectUUID();
storage.deleteAll();
const storage = FlutterSecureStorage();
context.read<SpaceTreeBloc>().add(ClearAllData());
user = null;
context.read<HomeBloc>().user = null;
await Future.wait<void>([
ProjectManager.clearProjectUUID(),
storage.deleteAll(),
]);
}
}

View File

@ -8,6 +8,8 @@ class ForgetPasswordPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const ResponsiveLayout(
desktopBody: ForgetPasswordWebPage(), mobileBody: ForgetPasswordWebPage());
tablet: ForgetPasswordWebPage(),
desktopBody: ForgetPasswordWebPage(),
mobileBody: ForgetPasswordWebPage());
}
}

View File

@ -201,20 +201,17 @@ class ForgetPasswordWebPage extends StatelessWidget {
!state.isButtonEnabled &&
state.remainingTime != 1
? null
: () {
:
() {
if (forgetBloc
.forgetEmailKey.currentState!
.validate() ||
forgetBloc
.forgetRegionKey.currentState!
.validate()) {
if (forgetBloc
.forgetRegionKey.currentState!
.validate()) {
forgetBloc.add(StartTimerEvent());
}
.forgetEmailKey
.currentState!
.validate()) {
forgetBloc.add(
StartTimerEvent());
}
},
child: Text(
'Get Code ${state is TimerState && !state.isButtonEnabled && state.remainingTime != 1 ? "(${forgetBloc.formattedTime(state.remainingTime)}) " : ""}',
style: TextStyle(

View File

@ -9,6 +9,8 @@ class LoginPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const ResponsiveLayout(
desktopBody: LoginWebPage(), mobileBody: LoginWebPage());
tablet: LoginWebPage(),
desktopBody: LoginWebPage(),
mobileBody: LoginWebPage());
}
}

View File

@ -55,12 +55,12 @@ class _LoginWebPageState extends State<LoginWebPage> with HelperResponsiveLayout
final isSmallScreen = isSmallScreenSize(context);
final isMediumScreen = isMediumScreenSize(context);
Size size = MediaQuery.of(context).size;
late ScrollController _scrollController;
_scrollController = ScrollController();
late ScrollController scrollController;
scrollController = ScrollController();
void _scrollToCenter() {
final double middlePosition = _scrollController.position.maxScrollExtent / 2;
_scrollController.animateTo(
void scrollToCenter() {
final double middlePosition = scrollController.position.maxScrollExtent / 2;
scrollController.animateTo(
middlePosition,
duration: const Duration(seconds: 1),
curve: Curves.easeInOut,
@ -68,7 +68,7 @@ class _LoginWebPageState extends State<LoginWebPage> with HelperResponsiveLayout
}
WidgetsBinding.instance.addPostFrameCallback((_) {
_scrollToCenter();
scrollToCenter();
});
return Stack(
@ -76,7 +76,7 @@ class _LoginWebPageState extends State<LoginWebPage> with HelperResponsiveLayout
FirstLayer(
second: Center(
child: ListView(
controller: _scrollController,
controller: scrollController,
shrinkWrap: true,
children: [
Container(
@ -199,7 +199,7 @@ class _LoginWebPageState extends State<LoginWebPage> with HelperResponsiveLayout
width: size.width * 0.9,
child: DropdownButtonHideUnderline(
child: DropdownButton2<String>(
style: TextStyle(color: Colors.black),
style: const TextStyle(color: Colors.black),
isExpanded: true,
hint: Text(
'Select your region/country',
@ -336,6 +336,16 @@ class _LoginWebPageState extends State<LoginWebPage> with HelperResponsiveLayout
obscureText: loginBloc.obscureText,
keyboardType: TextInputType.visiblePassword,
controller: loginBloc.loginPasswordController,
onFieldSubmitted: (value) {
if (loginBloc.loginFormKey.currentState!.validate()) {
loginBloc.add(LoginButtonPressed(
username: loginBloc.loginEmailController.text,
password: value,
));
} else {
loginBloc.add(ChangeValidateEvent());
}
},
decoration: textBoxDecoration()!.copyWith(
hintText: 'At least 8 characters',
hintStyle: Theme.of(context)
@ -393,7 +403,7 @@ class _LoginWebPageState extends State<LoginWebPage> with HelperResponsiveLayout
Transform.scale(
scale: 1.2,
child: Checkbox(
fillColor: MaterialStateProperty.all<Color>(Colors.white),
fillColor: WidgetStateProperty.all<Color>(Colors.white),
activeColor: Colors.white,
value: loginBloc.isChecked,
checkColor: Colors.black,

View File

@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:syncrow_web/pages/common/buttons/default_button.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
import 'package:syncrow_web/utils/style.dart';
import 'package:syncrow_web/utils/color_manager.dart';
class SearchResetButtons extends StatelessWidget {
const SearchResetButtons({
@ -17,8 +17,10 @@ class SearchResetButtons extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
const SizedBox(height: 25),

View File

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:dio/dio.dart';
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_status.dart';
@ -12,6 +13,7 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
late AcStatusModel deviceStatus;
final String deviceId;
Timer? _timer;
Timer? _countdownTimer;
AcBloc({required this.deviceId}) : super(AcsInitialState()) {
on<AcFetchDeviceStatusEvent>(_onFetchAcStatus);
@ -19,7 +21,17 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
on<AcControlEvent>(_onAcControl);
on<AcBatchControlEvent>(_onAcBatchControl);
on<AcFactoryResetEvent>(_onFactoryReset);
on<AcStatusUpdated>(_onAcStatusUpdated);
on<OnClose>(_onClose);
on<IncreaseTimeEvent>(_handleIncreaseTime);
on<DecreaseTimeEvent>(_handleDecreaseTime);
on<UpdateTimerEvent>(_handleUpdateTimer);
on<ToggleScheduleEvent>(_handleToggleTimer);
on<ApiCountdownValueEvent>(_handleApiCountdownValue);
}
bool timerActive = false;
int scheduledHours = 0;
int scheduledMinutes = 0;
FutureOr<void> _onFetchAcStatus(
AcFetchDeviceStatusEvent event, Emitter<AcsState> emit) async {
@ -28,19 +40,71 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
final status =
await DevicesManagementApi().getDeviceStatus(event.deviceId);
deviceStatus = AcStatusModel.fromJson(event.deviceId, status.status);
emit(ACStatusLoaded(deviceStatus));
if (deviceStatus.countdown1 != 0) {
// Convert API value to minutes
final totalMinutes = deviceStatus.countdown1 * 6;
scheduledHours = totalMinutes ~/ 60;
scheduledMinutes = totalMinutes % 60;
timerActive = true;
_startCountdownTimer(emit);
}
emit(ACStatusLoaded(
status: deviceStatus,
scheduledHours: scheduledHours,
scheduledMinutes: scheduledMinutes,
isTimerActive: timerActive,
));
_listenToChanges(event.deviceId);
} catch (e) {
emit(AcsFailedState(error: e.toString()));
}
}
_listenToChanges(deviceId) {
try {
DatabaseReference ref =
FirebaseDatabase.instance.ref('device-status/$deviceId');
Stream<DatabaseEvent> stream = ref.onValue;
stream.listen((DatabaseEvent event) async {
if (event.snapshot.value == null) return;
if (_timer != null) {
await Future.delayed(const Duration(seconds: 1));
}
Map<dynamic, dynamic> usersMap =
event.snapshot.value as Map<dynamic, dynamic>;
List<Status> statusList = [];
usersMap['status'].forEach((element) {
statusList
.add(Status(code: element['code'], value: element['value']));
});
deviceStatus =
AcStatusModel.fromJson(usersMap['productUuid'], statusList);
if (!isClosed) {
add(AcStatusUpdated(deviceStatus));
}
});
} catch (_) {}
}
void _onAcStatusUpdated(AcStatusUpdated event, Emitter<AcsState> emit) {
deviceStatus = event.deviceStatus;
emit(ACStatusLoaded(status: deviceStatus));
}
FutureOr<void> _onAcControl(
AcControlEvent event, Emitter<AcsState> emit) async {
final oldValue = _getValueByCode(event.code);
_updateLocalValue(event.code, event.value, emit);
emit(ACStatusLoaded(deviceStatus));
emit(ACStatusLoaded(status: deviceStatus));
await _runDebounce(
isBatch: false,
@ -97,7 +161,7 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
void _revertValueAndEmit(
String deviceId, String code, dynamic oldValue, Emitter<AcsState> emit) {
_updateLocalValue(code, oldValue, emit);
emit(ACStatusLoaded(deviceStatus));
emit(ACStatusLoaded(status: deviceStatus));
}
void _updateLocalValue(String code, dynamic value, Emitter<AcsState> emit) {
@ -130,11 +194,16 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
if (value is bool) {
deviceStatus = deviceStatus.copyWith(childLock: value);
}
case 'countdown_time':
if (value is int) {
deviceStatus = deviceStatus.copyWith(countdown1: value);
}
break;
default:
break;
}
emit(ACStatusLoaded(deviceStatus));
emit(ACStatusLoaded(status: deviceStatus));
}
dynamic _getValueByCode(String code) {
@ -149,6 +218,8 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
return deviceStatus.fanSpeedsString;
case 'child_lock':
return deviceStatus.childLock;
case 'countdown_time':
return deviceStatus.countdown1;
default:
return null;
}
@ -162,7 +233,7 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
await DevicesManagementApi().getBatchStatus(event.devicesIds);
deviceStatus =
AcStatusModel.fromJson(event.devicesIds.first, status.status);
emit(ACStatusLoaded(deviceStatus));
emit(ACStatusLoaded(status: deviceStatus));
} catch (e) {
emit(AcsFailedState(error: e.toString()));
}
@ -174,7 +245,7 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
_updateLocalValue(event.code, event.value, emit);
emit(ACStatusLoaded(deviceStatus));
emit(ACStatusLoaded(status: deviceStatus));
await _runDebounce(
isBatch: true,
@ -203,4 +274,144 @@ class AcBloc extends Bloc<AcsEvent, AcsState> {
emit(AcsFailedState(error: e.toString()));
}
}
void _onClose(OnClose event, Emitter<AcsState> emit) {
_countdownTimer?.cancel();
_timer?.cancel();
}
void _handleIncreaseTime(IncreaseTimeEvent event, Emitter<AcsState> emit) {
if (state is! ACStatusLoaded) return;
final currentState = state as ACStatusLoaded;
int newHours = scheduledHours;
int newMinutes = scheduledMinutes + 30;
newHours += newMinutes ~/ 60;
newMinutes = newMinutes % 60;
if (newHours > 23) {
newHours = 23;
newMinutes = 59;
}
scheduledHours = newHours;
scheduledMinutes = newMinutes;
emit(currentState.copyWith(
scheduledHours: scheduledHours,
scheduledMinutes: scheduledMinutes,
));
}
void _handleDecreaseTime(DecreaseTimeEvent event, Emitter<AcsState> emit) {
if (state is! ACStatusLoaded) return;
final currentState = state as ACStatusLoaded;
int totalMinutes = (scheduledHours * 60) + scheduledMinutes;
totalMinutes = (totalMinutes - 30).clamp(0, 1440);
scheduledHours = totalMinutes ~/ 60;
scheduledMinutes = totalMinutes % 60;
emit(currentState.copyWith(
scheduledHours: scheduledHours,
scheduledMinutes: scheduledMinutes,
));
}
Future<void> _handleToggleTimer(
ToggleScheduleEvent event, Emitter<AcsState> emit) async {
if (state is! ACStatusLoaded) return;
final currentState = state as ACStatusLoaded;
timerActive = !timerActive;
if (timerActive) {
final totalMinutes = scheduledHours * 60 + scheduledMinutes;
if (totalMinutes <= 0) {
timerActive = false;
emit(currentState.copyWith(isTimerActive: timerActive));
return;
}
try {
final scaledValue = totalMinutes ~/ 6;
await _runDebounce(
isBatch: false,
deviceId: deviceId,
code: 'countdown_time',
value: scaledValue,
oldValue: scaledValue,
emit: emit,
);
_startCountdownTimer(emit);
emit(currentState.copyWith(isTimerActive: timerActive));
} catch (e) {
timerActive = false;
emit(AcsFailedState(error: e.toString()));
}
} else {
await _runDebounce(
isBatch: false,
deviceId: deviceId,
code: 'countdown_time',
value: 0,
oldValue: 0,
emit: emit,
);
_countdownTimer?.cancel();
scheduledHours = 0;
scheduledMinutes = 0;
emit(currentState.copyWith(
isTimerActive: timerActive,
scheduledHours: 0,
scheduledMinutes: 0,
));
}
}
void _startCountdownTimer(Emitter<AcsState> emit) {
_countdownTimer?.cancel();
int totalSeconds = (scheduledHours * 3600) + (scheduledMinutes * 60);
_countdownTimer = Timer.periodic(const Duration(seconds: 1), (timer) {
if (totalSeconds > 0) {
totalSeconds--;
scheduledHours = totalSeconds ~/ 3600;
scheduledMinutes = (totalSeconds % 3600) ~/ 60;
add(UpdateTimerEvent());
} else {
_countdownTimer?.cancel();
timerActive = false;
scheduledHours = 0;
scheduledMinutes = 0;
add(TimerCompletedEvent());
}
});
}
void _handleUpdateTimer(UpdateTimerEvent event, Emitter<AcsState> emit) {
if (state is ACStatusLoaded) {
final currentState = state as ACStatusLoaded;
emit(currentState.copyWith(
scheduledHours: scheduledHours,
scheduledMinutes: scheduledMinutes,
isTimerActive: timerActive,
));
}
}
void _handleApiCountdownValue(
ApiCountdownValueEvent event, Emitter<AcsState> emit) {
if (state is ACStatusLoaded) {
final totalMinutes = event.apiValue * 6;
final scheduledHours = totalMinutes ~/ 60;
scheduledMinutes = totalMinutes % 60;
_startCountdownTimer(
emit,
);
add(UpdateTimerEvent());
}
}
@override
Future<void> close() {
add(OnClose());
return super.close();
}
}

View File

@ -1,4 +1,5 @@
import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/device_managment/ac/model/ac_model.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/factory_reset_model.dart';
sealed class AcsEvent extends Equatable {
@ -8,6 +9,8 @@ sealed class AcsEvent extends Equatable {
List<Object> get props => [];
}
class AcUpdated extends AcsEvent {}
class AcFetchDeviceStatusEvent extends AcsEvent {
final String deviceId;
@ -17,6 +20,11 @@ class AcFetchDeviceStatusEvent extends AcsEvent {
List<Object> get props => [deviceId];
}
class AcStatusUpdated extends AcsEvent {
final AcStatusModel deviceStatus;
AcStatusUpdated(this.deviceStatus);
}
class AcFetchBatchStatusEvent extends AcsEvent {
final List<String> devicesIds;
@ -68,3 +76,30 @@ class AcFactoryResetEvent extends AcsEvent {
@override
List<Object> get props => [deviceId, factoryResetModel];
}
class OnClose extends AcsEvent {}
class IncreaseTimeEvent extends AcsEvent {
@override
List<Object> get props => [];
}
class DecreaseTimeEvent extends AcsEvent {
@override
List<Object> get props => [];
}
class ToggleScheduleEvent extends AcsEvent {}
class TimerCompletedEvent extends AcsEvent {}
class UpdateTimerEvent extends AcsEvent {
}
class ApiCountdownValueEvent extends AcsEvent {
final int apiValue;
const ApiCountdownValueEvent(this.apiValue);
}

View File

@ -2,8 +2,9 @@ import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/device_managment/ac/model/ac_model.dart';
abstract class AcsState extends Equatable {
const AcsState();
final bool isTimerActive;
const AcsState({this.isTimerActive = false});
@override
List<Object> get props => [];
}
@ -15,8 +16,30 @@ class AcsLoadingState extends AcsState {}
class ACStatusLoaded extends AcsState {
final AcStatusModel status;
final DateTime timestamp;
final int scheduledHours;
final int scheduledMinutes;
final bool isTimerActive;
ACStatusLoaded(this.status) : timestamp = DateTime.now();
ACStatusLoaded({
required this.status,
this.scheduledHours = 0,
this.scheduledMinutes = 0,
this.isTimerActive = false,
}) : timestamp = DateTime.now();
ACStatusLoaded copyWith({
AcStatusModel? status,
int? scheduledHours,
int? scheduledMinutes,
bool? isTimerActive,
int? remainingTime,
}) {
return ACStatusLoaded(
status: status ?? this.status,
scheduledHours: scheduledHours ?? this.scheduledHours,
scheduledMinutes: scheduledMinutes ?? this.scheduledMinutes,
isTimerActive: isTimerActive ?? this.isTimerActive,
);
}
@override
List<Object> get props => [status, timestamp];
@ -40,3 +63,14 @@ class AcsFailedState extends AcsState {
@override
List<Object> get props => [error];
}
class TimerRunInProgress extends AcsState {
final int remainingTime;
const TimerRunInProgress(this.remainingTime);
@override
List<Object> get props => [remainingTime];
}

View File

@ -11,6 +11,7 @@ class AcStatusModel {
final bool childLock;
final TempModes acMode;
final FanSpeeds acFanSpeed;
final int countdown1;
AcStatusModel({
required this.uuid,
@ -18,6 +19,7 @@ class AcStatusModel {
required this.modeString,
required this.tempSet,
required this.currentTemp,
required this.countdown1,
required this.fanSpeedsString,
required this.childLock,
}) : acMode = getACMode(modeString),
@ -30,6 +32,7 @@ class AcStatusModel {
late int currentTemp;
late String fanSpeeds;
late bool childLock;
late int _countdown1 = 0;
for (var status in jsonList) {
switch (status.code) {
@ -51,6 +54,9 @@ class AcStatusModel {
case 'child_lock':
childLock = status.value ?? false;
break;
case 'countdown_time':
_countdown1 = status.value ?? 0;
break;
}
}
@ -62,6 +68,7 @@ class AcStatusModel {
currentTemp: currentTemp,
fanSpeedsString: fanSpeeds,
childLock: childLock,
countdown1: _countdown1,
);
}
@ -73,6 +80,7 @@ class AcStatusModel {
int? currentTemp,
String? fanSpeedsString,
bool? childLock,
int? countdown1,
}) {
return AcStatusModel(
uuid: uuid ?? this.uuid,
@ -82,6 +90,7 @@ class AcStatusModel {
currentTemp: currentTemp ?? this.currentTemp,
fanSpeedsString: fanSpeedsString ?? this.fanSpeedsString,
childLock: childLock ?? this.childLock,
countdown1: countdown1 ?? this.countdown1,
);
}

View File

@ -10,11 +10,10 @@ import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_mo
import 'package:syncrow_web/pages/device_managment/shared/toggle_widget.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
class AcDeviceControlsView extends StatelessWidget with HelperResponsiveLayout {
const AcDeviceControlsView({super.key, required this.device});
const AcDeviceControlsView({super.key, required this.device});
final AllDevicesModel device;
@ -23,10 +22,13 @@ class AcDeviceControlsView extends StatelessWidget with HelperResponsiveLayout {
final isExtraLarge = isExtraLargeScreenSize(context);
final isLarge = isLargeScreenSize(context);
final isMedium = isMediumScreenSize(context);
return BlocProvider(
create: (context) => AcBloc(deviceId: device.uuid!)..add(AcFetchDeviceStatusEvent(device.uuid!)),
create: (context) => AcBloc(deviceId: device.uuid!)
..add(AcFetchDeviceStatusEvent(device.uuid!)),
child: BlocBuilder<AcBloc, AcsState>(
builder: (context, state) {
final acBloc = BlocProvider.of<AcBloc>(context);
if (state is ACStatusLoaded) {
return GridView(
padding: const EdgeInsets.symmetric(horizontal: 50),
@ -77,53 +79,101 @@ class AcDeviceControlsView extends StatelessWidget with HelperResponsiveLayout {
),
ToggleWidget(
label: '',
labelWidget: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
labelWidget: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
IconButton(
padding: const EdgeInsets.all(0),
onPressed: () {},
icon: const Icon(
Icons.remove,
size: 28,
color: ColorsManager.greyColor,
Container(
width: MediaQuery.of(context).size.width,
decoration: const ShapeDecoration(
color: ColorsManager.primaryColor,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(30)),
),
),
),
Text(
'06',
style: context.textTheme.titleLarge!.copyWith(
color: ColorsManager.dialogBlueTitle,
fontWeight: FontWeight.bold,
),
),
Text(
'h',
style: context.textTheme.bodySmall!.copyWith(color: ColorsManager.blackColor),
),
Text(
'30',
style: context.textTheme.titleLarge!.copyWith(
color: ColorsManager.dialogBlueTitle,
fontWeight: FontWeight.bold,
),
),
Text('m', style: context.textTheme.bodySmall!.copyWith(color: ColorsManager.blackColor)),
IconButton(
padding: const EdgeInsets.all(0),
onPressed: () {},
icon: const Icon(
Icons.add,
size: 28,
color: ColorsManager.greyColor,
Center(
child: SizedBox(
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
IconButton(
onPressed: () {
if (acBloc.timerActive == false) {
context
.read<AcBloc>()
.add(DecreaseTimeEvent());
}
},
icon: const Icon(Icons.remove,
color: ColorsManager.greyColor),
),
Text(
acBloc.scheduledHours
.toString()
.padLeft(2, '0'),
style: Theme.of(context)
.textTheme
.titleLarge!
.copyWith(
color: ColorsManager.dialogBlueTitle,
fontWeight: FontWeight.bold,
),
),
Text(
'h',
style: Theme.of(context)
.textTheme
.bodySmall!
.copyWith(
color: ColorsManager.blackColor,
),
),
Text(
acBloc.scheduledMinutes
.toString()
.padLeft(2, '0'),
style: Theme.of(context)
.textTheme
.titleLarge!
.copyWith(
color: ColorsManager.dialogBlueTitle,
fontWeight: FontWeight.bold,
),
),
Text(
'm',
style: Theme.of(context)
.textTheme
.bodySmall!
.copyWith(
color: ColorsManager.blackColor,
),
),
IconButton(
onPressed: () {
if (acBloc.timerActive == false) {
context
.read<AcBloc>()
.add(IncreaseTimeEvent());
}
},
icon: const Icon(Icons.add,
color: ColorsManager.greyColor),
),
],
),
),
),
],
),
value: false,
value: acBloc.timerActive,
code: 'ac_schedule',
deviceId: device.uuid!,
icon: Assets.acSchedule,
onChange: (value) {},
onChange: (value) {
context.read<AcBloc>().add(ToggleScheduleEvent());
},
),
ToggleWidget(
deviceId: device.uuid!,

View File

@ -60,7 +60,15 @@ class _CurrentTempState extends State<CurrentTemp> {
);
});
}
@override
void didUpdateWidget(CurrentTemp oldWidget) {
super.didUpdateWidget(oldWidget);
if (oldWidget.tempSet != widget.tempSet) {
setState(() {
_adjustedValue = _initialAdjustedValue(widget.tempSet);
});
}
}
@override
void dispose() {
_debounce?.cancel();

View File

@ -5,9 +5,6 @@ import 'package:syncrow_web/pages/common/bloc/project_manager.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_model.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
import 'package:syncrow_web/services/devices_mang_api.dart';
import 'package:syncrow_web/utils/constants/strings_manager.dart';
import 'package:syncrow_web/utils/constants/temp_const.dart';
import 'package:syncrow_web/utils/helpers/shared_preferences_helper.dart';
part 'device_managment_event.dart';
part 'device_managment_state.dart';
@ -46,8 +43,7 @@ class DeviceManagementBloc
final projectUuid = await ProjectManager.getProjectUUID() ?? '';
if (spaceBloc.state.selectedCommunities.isEmpty) {
devices = await DevicesManagementApi()
.fetchDevices('', '', projectUuid );
devices = await DevicesManagementApi().fetchDevices('', '', projectUuid);
} else {
for (var community in spaceBloc.state.selectedCommunities) {
List<String> spacesList =

View File

@ -9,6 +9,8 @@ import 'package:syncrow_web/pages/device_managment/curtain/view/curtain_batch_st
import 'package:syncrow_web/pages/device_managment/curtain/view/curtain_status_view.dart';
import 'package:syncrow_web/pages/device_managment/door_lock/view/door_lock_batch_control_view.dart';
import 'package:syncrow_web/pages/device_managment/door_lock/view/door_lock_control_view.dart';
import 'package:syncrow_web/pages/device_managment/flush_mounted_presence_sensor/views/flush_mounted_presence_sensor_batch_control_view.dart';
import 'package:syncrow_web/pages/device_managment/flush_mounted_presence_sensor/views/flush_mounted_presence_sensor_control_view.dart';
import 'package:syncrow_web/pages/device_managment/garage_door/view/garage_door_batch_control_view.dart';
import 'package:syncrow_web/pages/device_managment/garage_door/view/garage_door_control_view.dart';
import 'package:syncrow_web/pages/device_managment/gateway/view/gateway_batch_control.dart';
@ -104,6 +106,9 @@ mixin RouteControlsBasedCode {
);
case 'SOS':
return SosDeviceControlsView(device: device);
case 'NCPS':
return FlushMountedPresenceSensorControlView(device: device);
default:
return const SizedBox();
}
@ -194,6 +199,10 @@ mixin RouteControlsBasedCode {
return SOSBatchControlView(
deviceIds: devices.where((e) => (e.productType == 'SOS')).map((e) => e.uuid!).toList(),
);
case 'NCPS':
return FlushMountedPresenceSensorBatchControlView(
devicesIds: devices.where((e) => (e.productType == 'NCPS')).map((e) => e.uuid!).toList(),
);
default:
return const SizedBox();
}

View File

@ -0,0 +1,18 @@
class DeviceSubSpace {
String? id;
String? createdAt;
String? updatedAt;
String? subspaceName;
bool? disabled;
DeviceSubSpace({this.id, this.createdAt, this.updatedAt, this.subspaceName, this.disabled});
DeviceSubSpace.fromJson(Map<String, dynamic> json) {
id = json['uuid']?.toString() ?? '';
createdAt = json['createdAt']?.toString() ?? '';
updatedAt = json['updatedAt']?.toString() ?? '';
subspaceName = json['subspaceName']?.toString() ?? '';
subspaceName = json['subspaceName']?.toString() ?? '';
disabled = json['disabled'] ?? false;
}
}

View File

@ -0,0 +1,20 @@
class DeviceTagModel {
String? id;
String? createdAt;
String? updatedAt;
String? name;
DeviceTagModel({
this.id,
this.createdAt,
this.updatedAt,
this.name,
});
DeviceTagModel.fromJson(Map<String, dynamic> json) {
id = json['uuid']?.toString() ?? '';
createdAt = json['createdAt']?.toString() ?? '';
updatedAt = json['updatedAt']?.toString() ?? '';
name = json['name']?.toString() ?? '';
}
}

View File

@ -1,13 +1,19 @@
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_community.model.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_space_model.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_sub_space.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_subspace.model.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_tag_model.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/room.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/unit.dart';
import 'package:syncrow_web/pages/routines/models/ac/ac_function.dart';
import 'package:syncrow_web/pages/routines/models/device_functions.dart';
import 'package:syncrow_web/pages/routines/models/flush/flush_functions.dart';
import 'package:syncrow_web/pages/routines/models/gang_switches/one_gang_switch/one_gang_switch.dart';
import 'package:syncrow_web/pages/routines/models/gang_switches/three_gang_switch/three_gang_switch.dart';
import 'package:syncrow_web/pages/routines/models/gang_switches/two_gang_switch/two_gang_switch.dart';
import 'package:syncrow_web/pages/routines/models/gateway.dart';
import 'package:syncrow_web/pages/routines/models/wps/wps_functions.dart';
import 'package:syncrow_web/pages/routines/widgets/routine_dialogs/ceiling_sensor/ceiling_sensor_helper.dart';
import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/enum/device_types.dart';
@ -76,38 +82,41 @@ class AllDevicesModel {
int? batteryLevel;
String? productName;
List<DeviceSpaceModel>? spaces;
List<DeviceTagModel>? deviceTags;
DeviceSubSpace? deviceSubSpace;
AllDevicesModel({
this.room,
this.subspace,
this.unit,
this.community,
this.productUuid,
this.productType,
this.permissionType,
this.activeTime,
this.category,
this.categoryName,
this.createTime,
this.gatewayId,
this.icon,
this.ip,
this.lat,
this.localKey,
this.lon,
this.model,
this.name,
this.nodeId,
this.online,
this.ownerId,
this.sub,
this.timeZone,
this.updateTime,
this.uuid,
this.batteryLevel,
this.productName,
this.spaces,
});
AllDevicesModel(
{this.room,
this.subspace,
this.unit,
this.community,
this.productUuid,
this.productType,
this.permissionType,
this.activeTime,
this.category,
this.categoryName,
this.createTime,
this.gatewayId,
this.icon,
this.ip,
this.lat,
this.localKey,
this.lon,
this.model,
this.name,
this.nodeId,
this.online,
this.ownerId,
this.sub,
this.timeZone,
this.updateTime,
this.uuid,
this.batteryLevel,
this.productName,
this.spaces,
this.deviceTags,
this.deviceSubSpace});
AllDevicesModel.fromJson(Map<String, dynamic> json) {
room = (json['room'] != null && (json['room'] is Map))
@ -145,10 +154,19 @@ class AllDevicesModel {
updateTime = int.tryParse(json['updateTime']?.toString() ?? '');
uuid = json['uuid']?.toString();
batteryLevel = int.tryParse(json['battery']?.toString() ?? '');
productName = json['productName']?.toString();
deviceTags = json['deviceTag'] != null && json['deviceTag'] is List
? (json['deviceTag'] as List)
.map((tag) => DeviceTagModel.fromJson(tag))
.toList()
: [];
deviceSubSpace = json['subspace'] != null
? DeviceSubSpace.fromJson(json['subspace'])
: DeviceSubSpace(subspaceName: '');
if (json['spaces'] != null && json['spaces'] is List) {
spaces = (json['spaces'] as List).map((space) => DeviceSpaceModel.fromJson(space)).toList();
spaces = (json['spaces'] as List)
.map((space) => DeviceSpaceModel.fromJson(space))
.toList();
}
}
@ -196,7 +214,8 @@ SOS
String tempIcon = '';
if (type == DeviceType.LightBulb) {
tempIcon = Assets.lightBulb;
} else if (type == DeviceType.CeilingSensor || type == DeviceType.WallSensor) {
} else if (type == DeviceType.CeilingSensor ||
type == DeviceType.WallSensor) {
tempIcon = Assets.sensors;
} else if (type == DeviceType.AC) {
tempIcon = Assets.ac;
@ -226,6 +245,8 @@ SOS
// tempIcon = Assets.gang3touch;
} else if (type == DeviceType.WaterLeak) {
tempIcon = Assets.waterLeakNormal;
} else if (type == DeviceType.NCPS) {
tempIcon = Assets.sensors;
} else {
tempIcon = Assets.logoHorizontal;
}
@ -241,35 +262,121 @@ SOS
switch (productType) {
case 'AC':
return [
SwitchFunction(deviceId: uuid ?? '', deviceName: name ?? ''),
ModeFunction(deviceId: uuid ?? '', deviceName: name ?? ''),
TempSetFunction(deviceId: uuid ?? '', deviceName: name ?? ''),
LevelFunction(deviceId: uuid ?? '', deviceName: name ?? ''),
ChildLockFunction(deviceId: uuid ?? '', deviceName: name ?? ''),
SwitchFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
ModeFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
TempSetFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
CurrentTempFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'IF'),
LevelFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
ChildLockFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
];
case '1G':
return [
OneGangSwitchFunction(deviceId: uuid ?? '', deviceName: name ?? ''),
OneGangCountdownFunction(deviceId: uuid ?? '', deviceName: name ?? ''),
OneGangCountdownFunction(
deviceId: uuid ?? '', deviceName: name ?? ''),
];
case '2G':
return [
TwoGangSwitch1Function(deviceId: uuid ?? '', deviceName: name ?? ''),
TwoGangSwitch2Function(deviceId: uuid ?? '', deviceName: name ?? ''),
TwoGangCountdown1Function(deviceId: uuid ?? '', deviceName: name ?? ''),
TwoGangCountdown2Function(deviceId: uuid ?? '', deviceName: name ?? ''),
TwoGangCountdown1Function(
deviceId: uuid ?? '', deviceName: name ?? ''),
TwoGangCountdown2Function(
deviceId: uuid ?? '', deviceName: name ?? ''),
];
case '3G':
return [
ThreeGangSwitch1Function(deviceId: uuid ?? '', deviceName: name ?? ''),
ThreeGangSwitch2Function(deviceId: uuid ?? '', deviceName: name ?? ''),
ThreeGangSwitch3Function(deviceId: uuid ?? '', deviceName: name ?? ''),
ThreeGangCountdown1Function(deviceId: uuid ?? '', deviceName: name ?? ''),
ThreeGangCountdown2Function(deviceId: uuid ?? '', deviceName: name ?? ''),
ThreeGangCountdown3Function(deviceId: uuid ?? '', deviceName: name ?? ''),
ThreeGangSwitch1Function(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
ThreeGangSwitch2Function(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
ThreeGangSwitch3Function(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
ThreeGangCountdown1Function(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
ThreeGangCountdown2Function(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
ThreeGangCountdown3Function(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
];
case 'WPS':
return [
//IF Functions
PresenceStateFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'IF'),
CurrentDistanceFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'IF'),
IlluminanceValueFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'IF'),
PresenceTimeFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'IF'),
//THEN Functions
FarDetectionFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
MotionSensitivityFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
MotionLessSensitivityFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
IndicatorFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'BOTH'),
NoOneTimeFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
];
case 'GW':
return [
GatewaySwitchAlarmSound(
deviceId: uuid ?? '',
deviceName: name ?? '',
type: 'BOTH',
),
GatewayMasterState(
deviceId: uuid ?? '',
deviceName: name ?? '',
type: 'BOTH',
),
GatewayFactoryReset(
deviceId: uuid ?? '',
deviceName: name ?? '',
type: 'BOTH',
),
];
case 'CPS':
return CeilingSensorHelper.getCeilingSensorFunctions(
uuid: uuid ?? '',
name: name ?? '',
);
case 'NCPS':
return [
FlushPresenceDelayFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'IF',),
FlushIlluminanceFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'IF'),
//THEN Functions
FlushSensitivityFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
FlushNearDetectionFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
FlushMaxDetectDistFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
FlushTargetConfirmTimeFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
FlushDisappeDelayFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
FlushIndentLevelFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
FlushTriggerLevelFunction(
deviceId: uuid ?? '', deviceName: name ?? '', type: 'THEN'),
];
default:
@ -403,5 +510,6 @@ SOS
"3GT": DeviceType.ThreeTouch,
"GD": DeviceType.GarageDoor,
"WL": DeviceType.WaterLeak,
"NCPS": DeviceType.NCPS,
};
}

View File

@ -2,20 +2,24 @@ import 'package:flutter/foundation.dart';
class FactoryResetModel {
final List<String> devicesUuid;
final String operationType;
FactoryResetModel({
required this.devicesUuid,
this.operationType = "RESET",
});
factory FactoryResetModel.fromJson(Map<String, dynamic> json) {
return FactoryResetModel(
devicesUuid: List<String>.from(json['devicesUuid']),
operationType: "RESET",
);
}
Map<String, dynamic> toJson() {
return {
'devicesUuid': devicesUuid,
'operationType': operationType,
};
}
@ -30,6 +34,7 @@ class FactoryResetModel {
Map<String, dynamic> toMap() {
return {
'devicesUuid': devicesUuid,
'operationType': operationType,
};
}
@ -53,3 +58,4 @@ class FactoryResetModel {
@override
int get hashCode => devicesUuid.hashCode;
}

View File

@ -1,15 +1,17 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_web/pages/common/bloc/project_manager.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/bloc/device_mgmt_bloc/device_managment_bloc.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/widgets/device_managment_body.dart';
import 'package:syncrow_web/pages/device_managment/shared/navigate_home_grid_view.dart';
import 'package:syncrow_web/pages/routines/bloc/create_routine_bloc/create_routine_bloc.dart';
import 'package:syncrow_web/pages/routines/bloc/create_routine_bloc/create_routine_event.dart';
import 'package:syncrow_web/pages/routines/bloc/routine_bloc/routine_bloc.dart';
import 'package:syncrow_web/pages/routines/view/create_new_routine_view.dart';
import 'package:syncrow_web/pages/routines/view/routines_view.dart';
import 'package:syncrow_web/utils/color_manager.dart';
import 'package:syncrow_web/utils/extension/build_context_x.dart';
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
import 'package:syncrow_web/utils/theme/responsive_text_theme.dart';
import 'package:syncrow_web/web_layout/web_scaffold.dart';
class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
@ -25,13 +27,12 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
),
],
child: WebScaffold(
appBarTitle: FittedBox(
child: Text(
'Device Management',
style: Theme.of(context).textTheme.headlineLarge,
),
appBarTitle: Text(
'Device Management',
style: ResponsiveTextTheme.of(context).deviceManagementTitle,
),
centerBody: BlocBuilder<RoutineBloc, RoutineState>(builder: (context, state) {
centerBody:
BlocBuilder<RoutineBloc, RoutineState>(builder: (context, state) {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
@ -40,16 +41,24 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
backgroundColor: null,
),
onPressed: () {
BlocProvider.of<CreateRoutineBloc>(context)
.add(const ResetSelectedEvent());
context
.read<RoutineBloc>()
.add(const TriggerSwitchTabsEvent(isRoutineTab: false));
context.read<DeviceManagementBloc>().add(FetchDevices(context));
context
.read<DeviceManagementBloc>()
.add(FetchDevices(context));
},
child: Text(
'Devices',
style: context.textTheme.titleMedium?.copyWith(
color: !state.routineTab ? ColorsManager.whiteColors : ColorsManager.grayColor,
fontWeight: !state.routineTab ? FontWeight.w700 : FontWeight.w400,
color: !state.routineTab
? ColorsManager.whiteColors
: ColorsManager.grayColor,
fontWeight:
!state.routineTab ? FontWeight.w700 : FontWeight.w400,
),
),
),
@ -58,13 +67,21 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
backgroundColor: null,
),
onPressed: () {
context.read<RoutineBloc>().add(const TriggerSwitchTabsEvent(isRoutineTab: true));
BlocProvider.of<CreateRoutineBloc>(context)
.add(const ResetSelectedEvent());
context
.read<RoutineBloc>()
.add(const TriggerSwitchTabsEvent(isRoutineTab: true));
},
child: Text(
'Routines',
style: context.textTheme.titleMedium?.copyWith(
color: state.routineTab ? ColorsManager.whiteColors : ColorsManager.grayColor,
fontWeight: state.routineTab ? FontWeight.w700 : FontWeight.w400,
color: state.routineTab
? ColorsManager.whiteColors
: ColorsManager.grayColor,
fontWeight:
state.routineTab ? FontWeight.w700 : FontWeight.w400,
),
),
),
@ -72,7 +89,8 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
);
}),
rightBody: const NavigateHomeGridView(),
scaffoldBody: BlocBuilder<RoutineBloc, RoutineState>(builder: (context, state) {
scaffoldBody:
BlocBuilder<RoutineBloc, RoutineState>(builder: (context, state) {
if (state.routineTab) {
return const RoutinesView();
}
@ -87,9 +105,10 @@ class DeviceManagementPage extends StatelessWidget with HelperResponsiveLayout {
} else if (deviceState is DeviceManagementLoaded) {
return DeviceManagementBody(devices: deviceState.devices);
} else if (deviceState is DeviceManagementFiltered) {
return DeviceManagementBody(devices: deviceState.filteredDevices);
return DeviceManagementBody(
devices: deviceState.filteredDevices);
} else {
return const Center(child: Text('Error fetching Devices'));
return const DeviceManagementBody(devices: []);
}
},
);

View File

@ -8,7 +8,6 @@ import 'package:syncrow_web/pages/device_managment/all_devices/models/devices_mo
import 'package:syncrow_web/pages/device_managment/all_devices/widgets/device_search_filters.dart';
import 'package:syncrow_web/pages/device_managment/shared/device_batch_control_dialog.dart';
import 'package:syncrow_web/pages/device_managment/shared/device_control_dialog.dart';
import 'package:syncrow_web/pages/space_tree/bloc/space_tree_bloc.dart';
import 'package:syncrow_web/pages/space_tree/view/space_tree_view.dart';
import 'package:syncrow_web/utils/format_date_time.dart';
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
@ -73,6 +72,7 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
child: state is DeviceManagementLoading
? const Center(child: CircularProgressIndicator())
: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
padding: isLargeScreenSize(context)
@ -95,7 +95,7 @@ class DeviceManagementBody extends StatelessWidget with HelperResponsiveLayout {
const DeviceSearchFilters(),
const SizedBox(height: 12),
Container(
height: 45,
// height: 45,
width: 125,
decoration: containerDecoration,
child: Center(

View File

@ -12,77 +12,68 @@ class DeviceSearchFilters extends StatefulWidget {
State<DeviceSearchFilters> createState() => _DeviceSearchFiltersState();
}
class _DeviceSearchFiltersState extends State<DeviceSearchFilters> with HelperResponsiveLayout {
final TextEditingController communityController = TextEditingController();
final TextEditingController unitNameController = TextEditingController();
final TextEditingController productNameController = TextEditingController();
class _DeviceSearchFiltersState extends State<DeviceSearchFilters>
with HelperResponsiveLayout {
late final TextEditingController _unitNameController;
late final TextEditingController _productNameController;
@override
void initState() {
_unitNameController = TextEditingController();
_productNameController = TextEditingController();
super.initState();
}
@override
Widget build(BuildContext context) {
return isExtraLargeScreenSize(context)
? Row(
children: [
_buildSearchField("Community", communityController, 200),
const SizedBox(width: 20),
_buildSearchField("Space Name", unitNameController, 200),
const SizedBox(width: 20),
_buildSearchField("Device Name / Product Name", productNameController, 300),
const SizedBox(width: 20),
_buildSearchResetButtons(),
],
)
: Wrap(
spacing: 20,
runSpacing: 10,
children: [
_buildSearchField(
"Community",
communityController,
200,
),
_buildSearchField("Space Name", unitNameController, 200),
_buildSearchField(
"Device Name / Product Name",
productNameController,
300,
),
_buildSearchResetButtons(),
],
);
return Wrap(
alignment: WrapAlignment.start,
runAlignment: WrapAlignment.start,
crossAxisAlignment: WrapCrossAlignment.center,
spacing: 20,
runSpacing: 10,
children: [
_buildSearchField("Space Name", _unitNameController, 200),
_buildSearchField("Device Name / Product Name", _productNameController, 300),
_buildSearchResetButtons(),
],
);
}
Widget _buildSearchField(String title, TextEditingController controller, double width) {
return Container(
child: StatefulTextField(
title: title,
width: width,
elevation: 2,
controller: controller,
onSubmitted: () {
context.read<DeviceManagementBloc>().add(SearchDevices(
productName: productNameController.text,
unitName: unitNameController.text,
community: communityController.text,
searchField: true));
},
onChanged: (p0) {},
),
Widget _buildSearchField(
String title,
TextEditingController controller,
double width,
) {
return StatefulTextField(
title: title,
width: width,
elevation: 2,
controller: controller,
onSubmitted: () {
final searchDevicesEvent = SearchDevices(
productName: _productNameController.text,
unitName: _unitNameController.text,
searchField: true,
);
context.read<DeviceManagementBloc>().add(searchDevicesEvent);
},
onChanged: (p0) {},
);
}
Widget _buildSearchResetButtons() {
return SearchResetButtons(
onSearch: () {
context.read<DeviceManagementBloc>().add(SearchDevices(
community: communityController.text,
unitName: unitNameController.text,
productName: productNameController.text,
searchField: true));
},
onSearch: () => context.read<DeviceManagementBloc>().add(
SearchDevices(
unitName: _unitNameController.text,
productName: _productNameController.text,
searchField: true,
),
),
onReset: () {
communityController.clear();
unitNameController.clear();
productNameController.clear();
_unitNameController.clear();
_productNameController.clear();
context.read<DeviceManagementBloc>()
..add(ResetFilters())
..add(FetchDevices(context));

View File

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_status.dart';
import 'package:syncrow_web/pages/device_managment/ceiling_sensor/bloc/ceiling_event.dart';
@ -22,42 +23,55 @@ class CeilingSensorBloc extends Bloc<CeilingSensorEvent, CeilingSensorState> {
on<ShowCeilingDescriptionEvent>(_showDescription);
on<BackToCeilingGridViewEvent>(_backToGridView);
on<CeilingFactoryResetEvent>(_onFactoryReset);
on<StatusUpdated>(_onStatusUpdated);
}
void _fetchCeilingSensorStatus(
CeilingInitialEvent event, Emitter<CeilingSensorState> emit) async {
emit(CeilingLoadingInitialState());
try {
var response = await DevicesManagementApi().getDeviceStatus(event.deviceId);
var response =
await DevicesManagementApi().getDeviceStatus(event.deviceId);
deviceStatus = CeilingSensorModel.fromJson(response.status);
emit(CeilingUpdateState(ceilingSensorModel: deviceStatus));
// _listenToChanges();
_listenToChanges(event.deviceId);
} catch (e) {
emit(CeilingFailedState(error: e.toString()));
return;
}
}
// _listenToChanges() {
// try {
// DatabaseReference ref = FirebaseDatabase.instance.ref('device-status/$deviceId');
// Stream<DatabaseEvent> stream = ref.onValue;
_listenToChanges(deviceId) {
try {
DatabaseReference ref =
FirebaseDatabase.instance.ref('device-status/$deviceId');
Stream<DatabaseEvent> stream = ref.onValue;
// stream.listen((DatabaseEvent event) {
// Map<dynamic, dynamic> usersMap = event.snapshot.value as Map<dynamic, dynamic>;
// List<StatusModel> statusList = [];
stream.listen((DatabaseEvent event) {
Map<dynamic, dynamic> usersMap =
event.snapshot.value as Map<dynamic, dynamic>;
// usersMap['status'].forEach((element) {
// statusList.add(StatusModel(code: element['code'], value: element['value']));
// });
List<Status> statusList = [];
usersMap['status'].forEach((element) {
statusList
.add(Status(code: element['code'], value: element['value']));
});
// deviceStatus = WallSensorModel.fromJson(statusList);
// add(WallSensorUpdatedEvent());
// });
// } catch (_) {}
// }
deviceStatus = CeilingSensorModel.fromJson(statusList);
if (!isClosed) {
add(StatusUpdated(deviceStatus));
}
});
} catch (_) {}
}
void _changeValue(CeilingChangeValueEvent event, Emitter<CeilingSensorState> emit) async {
void _onStatusUpdated(StatusUpdated event, Emitter<CeilingSensorState> emit) {
deviceStatus = event.deviceStatus;
emit(CeilingUpdateState(ceilingSensorModel: deviceStatus));
}
void _changeValue(
CeilingChangeValueEvent event, Emitter<CeilingSensorState> emit) async {
emit(CeilingLoadingNewSate(ceilingSensorModel: deviceStatus));
if (event.code == 'sensitivity') {
deviceStatus.sensitivity = event.value;
@ -122,7 +136,8 @@ class CeilingSensorBloc extends Bloc<CeilingSensorEvent, CeilingSensorState> {
try {
late bool response;
if (isBatch) {
response = await DevicesManagementApi().deviceBatchControl(deviceId, code, value);
response = await DevicesManagementApi()
.deviceBatchControl(deviceId, code, value);
} else {
response = await DevicesManagementApi()
.deviceControl(deviceId, Status(code: code, value: value));
@ -143,8 +158,8 @@ class CeilingSensorBloc extends Bloc<CeilingSensorEvent, CeilingSensorState> {
});
}
FutureOr<void> _getDeviceReports(
GetCeilingDeviceReportsEvent event, Emitter<CeilingSensorState> emit) async {
FutureOr<void> _getDeviceReports(GetCeilingDeviceReportsEvent event,
Emitter<CeilingSensorState> emit) async {
if (event.code.isEmpty) {
emit(ShowCeilingDescriptionState(description: reportString));
return;
@ -155,7 +170,8 @@ class CeilingSensorBloc extends Bloc<CeilingSensorEvent, CeilingSensorState> {
try {
// await DevicesManagementApi.getDeviceReportsByDate(deviceId, event.code, from.toString(), to.toString())
await DevicesManagementApi.getDeviceReports(deviceId, event.code).then((value) {
await DevicesManagementApi.getDeviceReports(deviceId, event.code)
.then((value) {
emit(CeilingReportsState(deviceReport: value));
});
} catch (e) {
@ -165,19 +181,23 @@ class CeilingSensorBloc extends Bloc<CeilingSensorEvent, CeilingSensorState> {
}
}
void _showDescription(ShowCeilingDescriptionEvent event, Emitter<CeilingSensorState> emit) {
void _showDescription(
ShowCeilingDescriptionEvent event, Emitter<CeilingSensorState> emit) {
emit(ShowCeilingDescriptionState(description: event.description));
}
void _backToGridView(BackToCeilingGridViewEvent event, Emitter<CeilingSensorState> emit) {
void _backToGridView(
BackToCeilingGridViewEvent event, Emitter<CeilingSensorState> emit) {
emit(CeilingUpdateState(ceilingSensorModel: deviceStatus));
}
FutureOr<void> _fetchCeilingSensorBatchControl(
CeilingFetchDeviceStatusEvent event, Emitter<CeilingSensorState> emit) async {
CeilingFetchDeviceStatusEvent event,
Emitter<CeilingSensorState> emit) async {
emit(CeilingLoadingInitialState());
try {
var response = await DevicesManagementApi().getBatchStatus(event.devicesIds);
var response =
await DevicesManagementApi().getBatchStatus(event.devicesIds);
deviceStatus = CeilingSensorModel.fromJson(response.status);
emit(CeilingUpdateState(ceilingSensorModel: deviceStatus));
} catch (e) {

View File

@ -1,5 +1,6 @@
import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/factory_reset_model.dart';
import 'package:syncrow_web/pages/device_managment/ceiling_sensor/model/ceiling_sensor_model.dart';
abstract class CeilingSensorEvent extends Equatable {
const CeilingSensorEvent();
@ -83,3 +84,12 @@ class CeilingFactoryResetEvent extends CeilingSensorEvent {
@override
List<Object> get props => [devicesId, factoryResetModel];
}
class StatusUpdated extends CeilingSensorEvent {
final CeilingSensorModel deviceStatus;
const StatusUpdated(this.deviceStatus);
@override
List<Object> get props => [deviceStatus];
}

View File

@ -16,7 +16,8 @@ import 'package:syncrow_web/pages/device_managment/shared/table/report_table.dar
import 'package:syncrow_web/utils/constants/assets.dart';
import 'package:syncrow_web/utils/helpers/responsice_layout_helper/responsive_layout_helper.dart';
class CeilingSensorControlsView extends StatelessWidget with HelperResponsiveLayout {
class CeilingSensorControlsView extends StatelessWidget
with HelperResponsiveLayout {
const CeilingSensorControlsView({super.key, required this.device});
final AllDevicesModel device;
@ -31,29 +32,35 @@ class CeilingSensorControlsView extends StatelessWidget with HelperResponsiveLay
..add(CeilingInitialEvent(device.uuid ?? '')),
child: BlocBuilder<CeilingSensorBloc, CeilingSensorState>(
builder: (context, state) {
if (state is CeilingLoadingInitialState || state is CeilingReportsLoadingState) {
if (state is CeilingLoadingInitialState ||
state is CeilingReportsLoadingState) {
return const Center(child: CircularProgressIndicator());
} else if (state is CeilingUpdateState) {
return _buildGridView(
context, state.ceilingSensorModel, isExtraLarge, isLarge, isMedium);
return _buildGridView(context, state.ceilingSensorModel,
isExtraLarge, isLarge, isMedium);
} else if (state is CeilingReportsState) {
return ReportsTable(
report: state.deviceReport,
onRowTap: (index) {},
onClose: () {
context.read<CeilingSensorBloc>().add(BackToCeilingGridViewEvent());
context
.read<CeilingSensorBloc>()
.add(BackToCeilingGridViewEvent());
},
);
} else if (state is ShowCeilingDescriptionState) {
return DescriptionView(
description: state.description,
onClose: () {
context.read<CeilingSensorBloc>().add(BackToCeilingGridViewEvent());
context
.read<CeilingSensorBloc>()
.add(BackToCeilingGridViewEvent());
},
);
} else if (state is CeilingReportsFailedState) {
final model = context.read<CeilingSensorBloc>().deviceStatus;
return _buildGridView(context, model, isExtraLarge, isLarge, isMedium);
return _buildGridView(
context, model, isExtraLarge, isLarge, isMedium);
}
return const Center(child: Text('Error fetching status'));
},
@ -61,8 +68,8 @@ class CeilingSensorControlsView extends StatelessWidget with HelperResponsiveLay
);
}
Widget _buildGridView(BuildContext context, CeilingSensorModel model, bool isExtraLarge,
bool isLarge, bool isMedium) {
Widget _buildGridView(BuildContext context, CeilingSensorModel model,
bool isExtraLarge, bool isLarge, bool isMedium) {
return GridView(
padding: const EdgeInsets.symmetric(horizontal: 50),
shrinkWrap: true,
@ -143,8 +150,8 @@ class CeilingSensorControlsView extends StatelessWidget with HelperResponsiveLay
),
GestureDetector(
onTap: () {
context.read<CeilingSensorBloc>().add(
GetCeilingDeviceReportsEvent(code: 'presence_state', deviceUuid: device.uuid!));
context.read<CeilingSensorBloc>().add(GetCeilingDeviceReportsEvent(
code: 'presence_state', deviceUuid: device.uuid!));
},
child: const PresenceStaticWidget(
icon: Assets.illuminanceRecordIcon,
@ -153,9 +160,8 @@ class CeilingSensorControlsView extends StatelessWidget with HelperResponsiveLay
),
GestureDetector(
onTap: () {
context
.read<CeilingSensorBloc>()
.add(GetCeilingDeviceReportsEvent(code: '', deviceUuid: device.uuid!));
context.read<CeilingSensorBloc>().add(GetCeilingDeviceReportsEvent(
code: '', deviceUuid: device.uuid!));
},
child: const PresenceStaticWidget(
icon: Assets.helpDescriptionIcon,

Some files were not shown because too many files have changed in this diff Show More