1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-07-19 13:19:43 +02:00

Show jump list to other space documents

Closes #219

Jump to documents within space when viewing a document.
This commit is contained in:
McMatts 2019-05-24 15:08:54 +01:00
parent bc9dab72f2
commit c65eb97948
26 changed files with 341 additions and 235 deletions

View file

@ -0,0 +1,36 @@
// Copyright 2016 Documize Inc. <legal@documize.com>. All rights reserved.
//
// This software (Documize Community Edition) is licensed under
// GNU AGPL v3 http://www.gnu.org/licenses/agpl-3.0.en.html
//
// You can operate outside the AGPL restrictions by purchasing
// Documize Enterprise Edition and obtaining a commercial license
// by contacting <sales@documize.com>.
//
// https://documize.com
import { inject as service } from '@ember/service';
import AuthMixin from '../../mixins/auth';
import Component from '@ember/component';
export default Component.extend(AuthMixin, {
router: service(),
documentSvc: service('document'),
docs: null,
space: null,
didReceiveAttrs() {
this._super(...arguments);
this.get('documentSvc').getAllBySpace(this.get('space.id')).then((docs) => {
this.set('docs', docs);
this.classNames = ['dicon', this.get('constants').Icon.ArrowSmallDown];
});
},
actions: {
onSpace() {
this.router.transitionTo('folder.index', this.space.id, this.space.slug);
}
}
});

View file

@ -39,7 +39,7 @@ export default Component.extend({
let bc = 'button';
if (this.themed) {
bc += 'theme';
bc += '-theme';
} else {
bc += '-' + this.color;
}

View file

@ -238,6 +238,7 @@ let constants = EmberObject.extend({
Link: 'dicon-link',
ListBullet: 'dicon-list-bullet-2',
Locked: 'dicon-lock',
MoreHorizontal: 'dicon-menu-5',
NotAllowed: 'dicon-ban',
PDF: 'dicon-pdf',
Print: 'dicon-print',

View file

@ -1,9 +1,7 @@
<Layout::MasterNavigation />
<Layout::MasterToolbar>
<div class="zone-1">
{{#link-to "folder.index" folder.id folder.slug}}
{{ui/ui-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=folder.name}}
{{/link-to}}
<Document::DocumentsList @space={{folder}} @docId=document.id />
</div>
<div class="zone-2" />
<div class="zone-3">

View file

@ -19,6 +19,10 @@ export default Controller.extend(Notifier, {
selectedRevision: null,
actions: {
onBack() {
this.get('router').transitionTo('document.index');
},
onRevision(revision) {
this.set('selectedRevision', revision);
},

View file

@ -1,9 +1,10 @@
<Layout::MasterNavigation />
<Layout::MasterToolbar>
<div class="zone-1">
{{#link-to "document.index"}}
{{ui/ui-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=document.name}}
{{/link-to}}
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=document.name onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
<div class="zone-2" />
<div class="zone-3" />

View file

@ -13,6 +13,7 @@ import { inject as service } from '@ember/service';
import Controller from '@ember/controller';
export default Controller.extend({
router: service(),
documentService: service('document'),
actions: {
@ -56,6 +57,6 @@ export default Controller.extend({
this.set('attachments', files);
});
});
},
},
}
});

View file

@ -1,9 +1,10 @@
<Layout::MasterNavigation />
<Layout::MasterToolbar>
<div class="zone-1">
{{#link-to "document.index" model.folder.id model.folder.slug model.document.id model.document.slug}}
{{ui/ui-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=model.document.name}}
{{/link-to}}
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=model.document.name onClick=(action "onCancel")}}
{{/ui/ui-toolbar}}
</div>
<div class="zone-2" />
<div class="zone-3" />

View file

@ -23,6 +23,10 @@ export default Controller.extend(Notifier, {
tab: 'general',
actions: {
onBack() {
this.get('router').transitionTo('document.index');
},
onTab(view) {
this.set('tab', view);
},

View file

@ -1,9 +1,10 @@
<Layout::MasterNavigation />
<Layout::MasterToolbar>
<div class="zone-1">
{{#link-to "document.index"}}
{{ui/ui-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=model.document.name}}
{{/link-to}}
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=model.document.name onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
<div class="zone-2" />
<div class="zone-3" />

View file

@ -18,6 +18,10 @@ export default Controller.extend(Notifier, {
sectionSvc: service('section'),
actions: {
onBack() {
this.get('router').transitionTo('folder.settings');
},
onCancel( /*page*/ ) {
this.get('router').transitionTo('folder.settings', {queryParams: {tab: 'blocks'}});
},

View file

@ -1,9 +1,10 @@
<Layout::MasterNavigation />
<Layout::MasterToolbar>
<div class="zone-1">
{{#link-to "folder.settings"}}
{{ui/ui-button color=constants.Color.Gray outline=true uppercase=false icon=constants.Icon.ArrowLeft label=model.folder.name}}
{{/link-to}}
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=model.space.name onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
</Layout::MasterToolbar>
@ -12,7 +13,7 @@
<div class="sidebar-content">
<div class="section">
<div class="title">about</div>
<div class="text"></div>
<div class="text">Manage reusable snippets of content for this space</div>
</div>
</div>
</Layout::Grid::Sidebar>
@ -23,7 +24,7 @@
desc="Content blocks provide re-usable content that can be inserted into any document"
icon=constants.Icon.Integrations}}
{{document/block-editor document=model.document folder=model.folder block=model.block
{{document/block-editor document=model.document folder=model.space block=model.block
onCancel=(action "onCancel") onAction=(action "onAction")}}
</Layout::Grid::Content>
</Layout::Grid::Container>

View file

@ -15,6 +15,7 @@ import NotifierMixin from '../../../mixins/notifier';
import Controller from '@ember/controller';
export default Controller.extend(NotifierMixin, {
router: service(),
documentService: service('document'),
folderService: service('folder'),
localStorage: service('localStorage'),
@ -25,7 +26,7 @@ export default Controller.extend(NotifierMixin, {
filteredDocs: null,
// eslint-disable-next-line ember/avoid-leaking-state-in-ember-objects
sortBy: {
name: true,
name: true,
created: false,
updated: false,
asc: true,
@ -33,6 +34,10 @@ export default Controller.extend(NotifierMixin, {
},
actions: {
onBack() {
this.get('router').transitionTo('folders');
},
onRefresh() {
this.get('target._routerMicrolib').refresh();
},
@ -93,25 +98,25 @@ export default Controller.extend(NotifierMixin, {
if (_.isNull(docs)) return;
if (sortBy.name) {
if (sortBy.name) {
docs = docs.sortBy('name');
ls.storeSessionItem('space.sortBy', 'name');
}
if (sortBy.created) {
if (sortBy.created) {
docs = docs.sortBy('created');
ls.storeSessionItem('space.sortBy', 'created');
}
if (sortBy.updated) {
if (sortBy.updated) {
docs = docs.sortBy('revised');
ls.storeSessionItem('space.sortBy', 'updated');
}
if (sortBy.desc) {
if (sortBy.desc) {
docs = docs.reverseObjects();
ls.storeSessionItem('space.sortOrder', 'desc');
} else {
ls.storeSessionItem('space.sortOrder', 'asc');
}
this.set('filteredDocs', docs);
}
}

View file

@ -1,9 +1,10 @@
<Layout::MasterNavigation />
<Layout::MasterToolbar>
<div class="zone-1">
{{#link-to "folders"}}
{{ui/ui-button themed=true uppercase=true icon=constants.Icon.ArrowLeft label=constants.Label.Spaces}}
{{/link-to}}
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=true
icon=constants.Icon.ArrowLeft label=constants.Label.Spaces onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
<div class="zone-2" />
<div class="zone-3">

View file

@ -22,6 +22,10 @@ export default Controller.extend(NotifierMixin, {
tab: 'general',
actions: {
onBack() {
this.get('router').transitionTo('folder.index');
},
onTab(view) {
this.set('tab', view);
},

View file

@ -1,9 +1,10 @@
<Layout::MasterNavigation />
<Layout::MasterToolbar>
<div class="zone-1">
{{#link-to "folder.index"}}
{{ui/ui-button themed=true uppercase=false icon=constants.Icon.ArrowLeft label=model.folder.name}}
{{/link-to}}
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=model.folder.name onClick=(action "onBack")}}
{{/ui/ui-toolbar}}
</div>
</Layout::MasterToolbar>

View file

@ -7,8 +7,8 @@
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{#if session.isEditor}}
{{ui/ui-toolbar-button icon=constants.Icon.Plus color=constants.Color.Green
label=constants.Label.Space
onClick=(action "onShowModal")}}
label=constants.Label.Space onClick=(action "onShowModal")}}
{{ui/ui-toolbar-divider}}
{{/if}}
{{#if session.isAdmin}}
{{ui/ui-toolbar-icon icon=constants.Icon.Settings color=constants.Color.Green

View file

@ -160,269 +160,277 @@ icons
-------------------------*/
.dicon-delete-key::before {
content: "\ea02";
}
content: "\ea02";
}
.dicon-i-remove::before {
content: "\ea03";
}
.dicon-i-remove::before {
content: "\ea03";
}
.dicon-bin::before {
content: "\ea04";
}
.dicon-bin::before {
content: "\ea04";
}
.dicon-attachment::before {
content: "\ea06";
}
.dicon-attachment::before {
content: "\ea06";
}
.dicon-pen-2::before {
content: "\ea08";
}
.dicon-pen-2::before {
content: "\ea08";
}
.dicon-settings-gear::before {
content: "\ea0c";
}
.dicon-settings-gear::before {
content: "\ea0c";
}
.dicon-small-down::before {
content: "\ea11";
}
.dicon-small-down::before {
content: "\ea11";
}
.dicon-small-left::before {
content: "\ea12";
}
.dicon-small-left::before {
content: "\ea12";
}
.dicon-small-right::before {
content: "\ea13";
}
.dicon-small-right::before {
content: "\ea13";
}
.dicon-small-up::before {
content: "\ea14";
}
.dicon-small-up::before {
content: "\ea14";
}
.dicon-small-triangle-down::before {
content: "\ea15";
}
.dicon-small-triangle-down::before {
content: "\ea15";
}
.dicon-small-triangle-left::before {
content: "\ea16";
}
.dicon-small-triangle-left::before {
content: "\ea16";
}
.dicon-small-triangle-right::before {
content: "\ea17";
}
.dicon-small-triangle-right::before {
content: "\ea17";
}
.dicon-small-triangle-up::before {
content: "\ea18";
}
.dicon-small-triangle-up::before {
content: "\ea18";
}
.dicon-arrow-down-2::before {
content: "\ea19";
}
.dicon-arrow-down-2::before {
content: "\ea19";
}
.dicon-arrow-left-2::before {
content: "\ea1a";
}
.dicon-arrow-left-2::before {
content: "\ea1a";
}
.dicon-arrow-right-2::before {
content: "\ea1b";
}
.dicon-arrow-right-2::before {
content: "\ea1b";
}
.dicon-arrow-up-2::before {
content: "\ea1c";
}
.dicon-arrow-up-2::before {
content: "\ea1c";
}
.dicon-chart-bar-33::before {
content: "\ea1d";
}
.dicon-chart-bar-33::before {
content: "\ea1d";
}
.dicon-geometry::before {
content: "\ea1e";
}
.dicon-geometry::before {
content: "\ea1e";
}
.dicon-bookmark::before {
content: "\ea1f";
}
.dicon-bookmark::before {
content: "\ea1f";
}
.dicon-bookmark-delete::before {
content: "\ea20";
}
.dicon-bookmark-delete::before {
content: "\ea20";
}
.dicon-bookmark-add::before {
content: "\ea22";
}
.dicon-bookmark-add::before {
content: "\ea22";
}
.dicon-pdf::before {
content: "\ea23";
}
.dicon-pdf::before {
content: "\ea23";
}
.dicon-print::before {
content: "\ea24";
}
.dicon-print::before {
content: "\ea24";
}
.dicon-list-bullet-2::before {
content: "\ea25";
}
.dicon-list-bullet-2::before {
content: "\ea25";
}
.dicon-magnifier::before {
content: "\ea26";
}
.dicon-magnifier::before {
content: "\ea26";
}
.dicon-b-chat::before {
content: "\ea27";
}
.dicon-b-chat::before {
content: "\ea27";
}
.dicon-filter-tool::before {
content: "\ea28";
}
.dicon-filter-tool::before {
content: "\ea28";
}
.dicon-grid-interface::before {
content: "\ea29";
}
.dicon-grid-interface::before {
content: "\ea29";
}
.dicon-lock::before {
content: "\ea2a";
}
.dicon-lock::before {
content: "\ea2a";
}
.dicon-unlocked::before {
content: "\ea2b";
}
.dicon-unlocked::before {
content: "\ea2b";
}
.dicon-menu-7::before {
content: "\ea2c";
}
.dicon-menu-7::before {
content: "\ea2c";
}
.dicon-network-connection::before {
content: "\ea2d";
}
.dicon-network-connection::before {
content: "\ea2d";
}
.dicon-e-add::before {
content: "\ea2e";
}
.dicon-e-add::before {
content: "\ea2e";
}
.dicon-data-upload::before {
content: "\ea2f";
}
.dicon-data-upload::before {
content: "\ea2f";
}
.dicon-upload::before {
content: "\ea30";
}
.dicon-upload::before {
content: "\ea30";
}
.dicon-flag::before {
content: "\ea31";
}
.dicon-flag::before {
content: "\ea31";
}
.dicon-globe::before {
content: "\ea32";
}
.dicon-globe::before {
content: "\ea32";
}
.dicon-single-01::before {
content: "\ea33";
}
.dicon-single-01::before {
content: "\ea33";
}
.dicon-multiple-19::before {
content: "\ea34";
}
.dicon-multiple-19::before {
content: "\ea34";
}
.dicon-box::before {
content: "\ea35";
}
.dicon-box::before {
content: "\ea35";
}
.dicon-time::before {
content: "\ea37";
}
.dicon-time::before {
content: "\ea37";
}
.dicon-split-37::before {
content: "\ea38";
}
.dicon-split-37::before {
content: "\ea38";
}
.dicon-sort-tool::before {
content: "\ea39";
}
.dicon-sort-tool::before {
content: "\ea39";
}
.dicon-button-2::before {
content: "\ea3a";
}
.dicon-button-2::before {
content: "\ea3a";
}
.dicon-menu-6::before {
content: "\ea40";
}
.dicon-menu-6::before {
content: "\ea40";
}
.dicon-pulse::before {
content: "\ea41";
}
.dicon-pulse::before {
content: "\ea41";
}
.dicon-copy::before {
content: "\ea43";
}
.dicon-copy::before {
content: "\ea43";
}
.dicon-menu-8::before {
content: "\ea48";
}
.dicon-menu-8::before {
content: "\ea48";
}
.dicon-send::before {
content: "\ea49";
}
.dicon-send::before {
content: "\ea49";
}
.dicon-email::before {
content: "\ea4a";
}
.dicon-email::before {
content: "\ea4a";
}
.dicon-download::before {
content: "\ea4b";
}
.dicon-download::before {
content: "\ea4b";
}
.dicon-database::before {
content: "\ea4c";
}
.dicon-database::before {
content: "\ea4c";
}
.dicon-notification::before {
content: "\ea4d";
}
.dicon-notification::before {
content: "\ea4d";
}
.dicon-handshake::before {
content: "\ea4e";
}
.dicon-handshake::before {
content: "\ea4e";
}
.dicon-add-27::before {
content: "\ea4f";
}
.dicon-add-27::before {
content: "\ea4f";
}
.dicon-delete-28::before {
content: "\ea50";
}
.dicon-delete-28::before {
content: "\ea50";
}
.dicon-i-check::before {
content: "\ea51";
}
.dicon-i-check::before {
content: "\ea51";
}
.dicon-shape-rectangle::before {
content: "\ea52";
}
.dicon-shape-rectangle::before {
content: "\ea52";
}
.dicon-ban::before {
content: "\ea53";
}
.dicon-ban::before {
content: "\ea53";
}
.dicon-check-single::before {
content: "\ea54";
}
.dicon-check-single::before {
content: "\ea54";
}
.dicon-check-double::before {
content: "\ea55";
}
.dicon-check-double::before {
content: "\ea55";
}
.dicon-check::before {
content: "\ea56";
}
.dicon-check::before {
content: "\ea56";
}
.dicon-preview::before {
content: "\ea58";
}
.dicon-preview::before {
content: "\ea58";
}
.dicon-link::before {
content: "\ea59";
}
.dicon-link::before {
content: "\ea59";
}
.dicon-b-check::before {
content: "\ea5a";
}
.dicon-b-check::before {
content: "\ea5a";
}
.dicon-e-delete::before {
content: "\ea5b";
}
.dicon-menu-5::before {
content: "\ea5c";
}

View file

@ -115,7 +115,7 @@
white-space: nowrap;
text-align: center;
padding: 0.375rem 0.75rem;
margin: 0 0.5rem;
// margin: 0 0.5rem;
font-weight: 500;
font-size: 1rem;
border: 1px solid transparent;
@ -147,6 +147,18 @@
}
}
.button-theme {
@extend %button;
background-color: $theme-500;
color: $color-white;
&:hover {
color: $color-white;
border-color: $theme-600;
background-color: $theme-600;
}
}
.button-green {
@extend %button;
background-color: map-get($green-shades, 600);

View file

@ -1,4 +1,4 @@
{{#ui/ui-toolbar dark=false light=false raised=false large=true bordered=false}}
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{#if (eq appMeta.edition constants.Product.EnterpriseEdition)}}
{{#if permissions.documentEdit}}
{{#ui/ui-toolbar-dropdown label="Actions" arrow=true}}

View file

@ -0,0 +1,17 @@
{{#ui/ui-toolbar dark=false light=false raised=false large=false bordered=false}}
{{ui/ui-toolbar-button themed=true uppercase=false
icon=constants.Icon.ArrowLeft label=space.name onClick=(action "onSpace")}}
{{#if docs}}
{{#ui/ui-toolbar-icon icon=constants.Icon.ArrowSmallDown}}
{{#attach-popover class="ember-attacher-popper" hideOn="clickout" showOn="click" isShown=false placement="bottom-middle"}}
<ul class="menu">
{{#each docs as |doc|}}
{{#if (not-eq doc.id docId)}}
{{#link-to "document.index" doc.spaceId doc.spaceId doc.id doc.slug class="item"}}{{doc.name}}{{/link-to}}
{{/if}}
{{/each}}
</ul>
{{/attach-popover}}
{{/ui/ui-toolbar-icon}}
{{/if}}
{{/ui/ui-toolbar}}

Binary file not shown.

View file

@ -208,6 +208,12 @@
<glyph glyph-name="b-check"
unicode="&#xEA5A;"
horiz-adv-x="256" d="M138.311 213.793L112.035 187.585L101.663 197.793C92.88 206.435 90.801 208 88.1 208C83.832 208 80 204.165 80 199.894C80 197.119 81.879 194.807 94.262 182.349C107.174 169.358 108.853 168 112.008 168C115.245 168 117.641 170.152 145.746 198.299C172.983 225.577 176 228.922 176 231.845C176 236.198 172.195 240 167.839 240C164.921 240 161.89 237.31 138.311 213.793M48.734 142.97C39.404 140.627 31.095 133.89 26.812 125.193C24.946 121.404 24.5 118.862 24.5 112C24.5 101.879 26.692 96.466 33.579 89.579C44.752 78.406 61.733 76.939 74.421 86.051C95.042 100.86 91.331 131.659 67.744 141.47C62.969 143.456 53.609 144.195 48.734 142.97M192.734 142.97C183.404 140.627 175.095 133.89 170.812 125.193C168.946 121.404 168.5 118.862 168.5 112C168.5 101.879 170.692 96.466 177.579 89.579C188.752 78.406 205.733 76.939 218.421 86.051C239.042 100.86 235.331 131.659 211.744 141.47C206.969 143.456 197.609 144.195 192.734 142.97M62.655 126.359C72.696 121.595 74.921 109.206 67.194 101.084C63.075 96.753 58.43 95.321 52.259 96.479C47.492 97.373 41.351 103.614 40.435 108.493C37.956 121.707 50.761 132.003 62.655 126.359M206.655 126.359C216.696 121.595 218.921 109.206 211.194 101.084C207.075 96.753 202.43 95.321 196.259 96.479C191.492 97.373 185.351 103.614 184.435 108.493C181.956 121.707 194.761 132.003 206.655 126.359M40.484 70.626C30.368 68.965 26.347 67.651 17 62.954C2.284 55.558 0 50.933 0 28.52C0 13.742 0.072 13.214 2.452 10.646L4.905 8L56 8L107.095 8L109.548 10.646C111.928 13.214 112 13.742 112 28.52C112 45.744 110.94 50.353 105.707 55.881C101.629 60.19 86.133 67.645 77.293 69.551C67.446 71.675 49.976 72.185 40.484 70.626M184.484 70.626C174.368 68.965 170.347 67.651 161 62.954C146.284 55.558 144 50.933 144 28.52C144 13.742 144.072 13.214 146.452 10.646L148.905 8L200 8L251.095 8L253.548 10.646C255.928 13.214 256 13.742 256 28.52C256 45.744 254.94 50.353 249.707 55.881C245.629 60.19 230.133 67.645 221.293 69.551C211.446 71.675 193.976 72.185 184.484 70.626M70.825 54.537C79.81 52.647 90.481 48.246 93.57 45.158C95.797 42.93 96 41.946 96 33.364L96 24L56 24L16 24L16 33.5C16 44.109 16.565 45.232 23.709 48.823C36.73 55.37 55.845 57.688 70.825 54.537M214.825 54.537C223.81 52.647 234.481 48.246 237.57 45.158C239.797 42.93 240 41.946 240 33.364L240 24L200 24L160 24L160 33.5C160 44.109 160.565 45.232 167.709 48.823C180.73 55.37 199.845 57.688 214.825 54.537" />
<glyph glyph-name="e-delete"
unicode="&#xEA5B;"
horiz-adv-x="256" d="M10.455 133.545C7.266 130.357 7.265 126.085 10.452 122.646L12.905 120L128 120L243.095 120L245.548 122.646C248.735 126.085 248.734 130.357 245.545 133.545L243.091 136L128 136L12.909 136L10.455 133.545" />
<glyph glyph-name="menu-5"
unicode="&#xEA5C;"
horiz-adv-x="256" d="M24.734 158.97C15.404 156.627 7.095 149.89 2.812 141.193C0.946 137.404 0.5 134.862 0.5 128C0.5 117.879 2.692 112.466 9.579 105.579C20.752 94.406 37.733 92.939 50.421 102.051C71.042 116.86 67.331 147.659 43.744 157.47C38.969 159.456 29.609 160.195 24.734 158.97M120.734 158.97C111.404 156.627 103.095 149.89 98.812 141.193C96.946 137.404 96.5 134.862 96.5 128C96.5 117.879 98.692 112.466 105.579 105.579C116.752 94.406 133.733 92.939 146.421 102.051C167.042 116.86 163.331 147.659 139.744 157.47C134.969 159.456 125.609 160.195 120.734 158.97M216.734 158.97C207.404 156.627 199.095 149.89 194.812 141.193C192.946 137.404 192.5 134.862 192.5 128C192.5 117.879 194.692 112.466 201.579 105.579C212.752 94.406 229.733 92.939 242.421 102.051C263.042 116.86 259.331 147.659 235.744 157.47C230.969 159.456 221.609 160.195 216.734 158.97M38.655 142.359C48.696 137.595 50.921 125.206 43.194 117.084C39.075 112.753 34.43 111.321 28.259 112.479C23.492 113.373 17.351 119.614 16.435 124.493C13.956 137.707 26.761 148.003 38.655 142.359M134.655 142.359C144.696 137.595 146.921 125.206 139.194 117.084C135.075 112.753 130.43 111.321 124.259 112.479C119.492 113.373 113.351 119.614 112.435 124.493C109.956 137.707 122.761 148.003 134.655 142.359M230.655 142.359C240.696 137.595 242.921 125.206 235.194 117.084C231.075 112.753 226.43 111.321 220.259 112.479C215.492 113.373 209.351 119.614 208.435 124.493C205.956 137.707 218.761 148.003 230.655 142.359" />
</font>
</defs>
</svg>

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

Binary file not shown.