Merge branch 'master' of https://github.com/Ocelot-Social-Community/Ocelot-Social into 4092-redesign-registration-process
13
.github/workflows/publish.yml
vendored
@ -56,7 +56,7 @@ jobs:
|
||||
##########################################################################
|
||||
- name: Neo4J | Build `community` image
|
||||
run: |
|
||||
docker build --target community -t "ocelotsocialnetwork/neo4j:community" -t "ocelotsocialnetwork/neo4j:${VERSION}" -t "ocelotsocialnetwork/neo4j:${BUILD_VERSION}" neo4j/
|
||||
docker build --target community -t "ocelotsocialnetwork/neo4j:latest" -t "ocelotsocialnetwork/neo4j:community" -t "ocelotsocialnetwork/neo4j:${VERSION}" -t "ocelotsocialnetwork/neo4j:${BUILD_VERSION}" neo4j/
|
||||
docker save "ocelotsocialnetwork/neo4j" > /tmp/neo4j.tar
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v2
|
||||
@ -65,7 +65,7 @@ jobs:
|
||||
path: /tmp/neo4j.tar
|
||||
|
||||
##############################################################################
|
||||
# JOB: DOCKER BUILD Production BACKEND #######################################
|
||||
# JOB: DOCKER BUILD PRODUCTION BACKEND #######################################
|
||||
##############################################################################
|
||||
build_production_backend:
|
||||
name: Docker Build Production - Backend
|
||||
@ -229,14 +229,13 @@ jobs:
|
||||
- name: login to dockerhub
|
||||
run: echo "${DOCKERHUB_TOKEN}" | docker login -u "${DOCKERHUB_USERNAME}" --password-stdin
|
||||
- name: Push neo4j
|
||||
# TODO: at some point --all-tags will be needed -.-
|
||||
run: docker push ocelotsocialnetwork/neo4j
|
||||
run: docker push --all-tags ocelotsocialnetwork/neo4j
|
||||
- name: Push backend
|
||||
run: docker push ocelotsocialnetwork/backend
|
||||
run: docker push --all-tags ocelotsocialnetwork/backend
|
||||
- name: Push webapp
|
||||
run: docker push ocelotsocialnetwork/webapp
|
||||
run: docker push --all-tags ocelotsocialnetwork/webapp
|
||||
- name: Push maintenance
|
||||
run: docker push ocelotsocialnetwork/maintenance
|
||||
run: docker push --all-tags ocelotsocialnetwork/maintenance
|
||||
|
||||
##############################################################################
|
||||
# JOB: GITHUB TAG LATEST VERSION #############################################
|
||||
|
||||
14145
CHANGELOG.md
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ocelot-social-backend",
|
||||
"version": "0.6.5",
|
||||
"version": "0.6.14",
|
||||
"description": "GraphQL Backend for ocelot.social",
|
||||
"repository": "https://github.com/Ocelot-Social-Community/Ocelot-Social",
|
||||
"author": "ocelot.social Community",
|
||||
|
||||
@ -40,7 +40,8 @@ const server = {
|
||||
const smtp = {
|
||||
SMTP_HOST: env.SMTP_HOST,
|
||||
SMTP_PORT: env.SMTP_PORT,
|
||||
SMTP_IGNORE_TLS: env.SMTP_IGNORE_TLS || true,
|
||||
SMTP_IGNORE_TLS: env.SMTP_IGNORE_TLS === 'true' || true,
|
||||
SMTP_SECURE: env.SMTP_IGNORE_TLS === 'true' || false,
|
||||
SMTP_USERNAME: env.SMTP_USERNAME,
|
||||
SMTP_PASSWORD: env.SMTP_PASSWORD,
|
||||
}
|
||||
|
||||
@ -49,8 +49,9 @@ Factory.define('badge')
|
||||
|
||||
Factory.define('image')
|
||||
.attr('url', faker.image.unsplash.imageUrl)
|
||||
.attr('aspectRatio', 1)
|
||||
.attr('aspectRatio', 1.3333333333333333)
|
||||
.attr('alt', faker.lorem.sentence)
|
||||
.attr('type', 'image/jpeg')
|
||||
.after((buildObject, options) => {
|
||||
const { url: imageUrl } = buildObject
|
||||
if (imageUrl) buildObject.url = uniqueImageUrl(imageUrl)
|
||||
|
||||
0
backend/src/db/migrations/.gitkeep
Normal file
9
backend/src/db/migrations/1613589876420-null_mutation.js
Normal file
@ -0,0 +1,9 @@
|
||||
'use strict'
|
||||
|
||||
module.exports.up = function (next) {
|
||||
next()
|
||||
}
|
||||
|
||||
module.exports.down = function (next) {
|
||||
next()
|
||||
}
|
||||
@ -22,8 +22,8 @@ if (!hasEmailConfig) {
|
||||
const transporter = nodemailer.createTransport({
|
||||
host: CONFIG.SMTP_HOST,
|
||||
port: CONFIG.SMTP_PORT,
|
||||
ignoreTLS: CONFIG.SMTP_IGNORE_TLS === 'true',
|
||||
secure: false, // true for 465, false for other ports
|
||||
ignoreTLS: CONFIG.SMTP_IGNORE_TLS,
|
||||
secure: CONFIG.SMTP_SECURE, // true for 465, false for other ports
|
||||
auth: hasAuthData && {
|
||||
user: CONFIG.SMTP_USERNAME,
|
||||
pass: CONFIG.SMTP_PASSWORD,
|
||||
|
||||
@ -122,6 +122,7 @@ export default shield(
|
||||
MyInviteCodes: isAuthenticated,
|
||||
isValidInviteCode: allow,
|
||||
queryLocations: isAuthenticated,
|
||||
availableRoles: isAdmin,
|
||||
},
|
||||
Mutation: {
|
||||
'*': deny,
|
||||
@ -166,6 +167,7 @@ export default shield(
|
||||
unpinPost: isAdmin,
|
||||
UpdateDonations: isAdmin,
|
||||
GenerateInviteCode: isAuthenticated,
|
||||
switchUserRole: isAdmin,
|
||||
},
|
||||
User: {
|
||||
email: or(isMyOwn, isAdmin),
|
||||
|
||||
@ -3,5 +3,6 @@ export default {
|
||||
alt: { type: 'string' },
|
||||
sensitive: { type: 'boolean', default: false },
|
||||
aspectRatio: { type: 'float', default: 1.0 },
|
||||
type: { type: 'string' },
|
||||
createdAt: { type: 'string', isoDate: true, default: () => new Date().toISOString() },
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ import Resolver from './helpers/Resolver'
|
||||
export default {
|
||||
Image: {
|
||||
...Resolver('Image', {
|
||||
undefinedToNull: ['sensitive', 'alt', 'aspectRatio'],
|
||||
undefinedToNull: ['sensitive', 'alt', 'aspectRatio', 'type'],
|
||||
}),
|
||||
},
|
||||
}
|
||||
|
||||
@ -53,8 +53,8 @@ export async function mergeImage(resource, relationshipType, imageInput, opts =
|
||||
if (!(existingImage || upload)) throw new UserInputError('Cannot find image for given resource')
|
||||
if (existingImage && upload) deleteImageFile(existingImage, deleteCallback)
|
||||
const url = await uploadImageFile(upload, uploadCallback)
|
||||
const { alt, sensitive, aspectRatio } = imageInput
|
||||
const image = { alt, sensitive, aspectRatio, url }
|
||||
const { alt, sensitive, aspectRatio, type } = imageInput
|
||||
const image = { alt, sensitive, aspectRatio, url, type }
|
||||
txResult = await transaction.run(
|
||||
`
|
||||
MATCH (resource {id: $resource.id})
|
||||
|
||||
7
backend/src/schema/resolvers/roles.js
Normal file
@ -0,0 +1,7 @@
|
||||
export default {
|
||||
Query: {
|
||||
availableRoles: async (_parent, args, context, _resolveInfo) => {
|
||||
return ['admin', 'moderator', 'user']
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -244,6 +244,31 @@ export default {
|
||||
session.close()
|
||||
}
|
||||
},
|
||||
switchUserRole: async (object, args, context, resolveInfo) => {
|
||||
const { role, id } = args
|
||||
|
||||
if (context.user.id === id) throw new Error('you-cannot-change-your-own-role')
|
||||
const session = context.driver.session()
|
||||
const writeTxResultPromise = session.writeTransaction(async (transaction) => {
|
||||
const switchUserRoleResponse = await transaction.run(
|
||||
`
|
||||
MATCH (user:User {id: $id})
|
||||
SET user.role = $role
|
||||
SET user.updatedAt = toString(datetime())
|
||||
RETURN user {.*}
|
||||
`,
|
||||
{ id, role },
|
||||
)
|
||||
const [user] = switchUserRoleResponse.records.map((record) => record.get('user'))
|
||||
return user
|
||||
})
|
||||
try {
|
||||
const user = await writeTxResultPromise
|
||||
return user
|
||||
} finally {
|
||||
session.close()
|
||||
}
|
||||
},
|
||||
},
|
||||
User: {
|
||||
email: async (parent, params, context, resolveInfo) => {
|
||||
|
||||
@ -45,6 +45,18 @@ const deleteUserMutation = gql`
|
||||
}
|
||||
`
|
||||
|
||||
const switchUserRoleMutation = gql`
|
||||
mutation($role: UserGroup!, $id: ID!) {
|
||||
switchUserRole(role: $role, id: $id) {
|
||||
name
|
||||
role
|
||||
id
|
||||
updatedAt
|
||||
email
|
||||
}
|
||||
}
|
||||
`
|
||||
|
||||
beforeAll(() => {
|
||||
const { server } = createServer({
|
||||
context: () => {
|
||||
@ -458,3 +470,71 @@ describe('Delete a User as admin', () => {
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('switch user role', () => {
|
||||
beforeEach(async () => {
|
||||
user = await Factory.build('user', {
|
||||
id: 'user',
|
||||
role: 'user',
|
||||
})
|
||||
admin = await Factory.build('user', {
|
||||
role: 'admin',
|
||||
id: 'admin',
|
||||
})
|
||||
})
|
||||
|
||||
describe('as simple user', () => {
|
||||
it('cannot change the role', async () => {
|
||||
authenticatedUser = await user.toJson()
|
||||
variables = {
|
||||
id: 'user',
|
||||
role: 'admin',
|
||||
}
|
||||
await expect(mutate({ mutation: switchUserRoleMutation, variables })).resolves.toEqual(
|
||||
expect.objectContaining({
|
||||
errors: [
|
||||
expect.objectContaining({
|
||||
message: 'Not Authorised!',
|
||||
}),
|
||||
],
|
||||
}),
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe('as admin', () => {
|
||||
it('changes the role of other user', async () => {
|
||||
authenticatedUser = await admin.toJson()
|
||||
variables = {
|
||||
id: 'user',
|
||||
role: 'moderator',
|
||||
}
|
||||
await expect(mutate({ mutation: switchUserRoleMutation, variables })).resolves.toEqual(
|
||||
expect.objectContaining({
|
||||
data: {
|
||||
switchUserRole: expect.objectContaining({
|
||||
role: 'moderator',
|
||||
}),
|
||||
},
|
||||
}),
|
||||
)
|
||||
})
|
||||
|
||||
it('cannot change own role', async () => {
|
||||
authenticatedUser = await admin.toJson()
|
||||
variables = {
|
||||
id: 'admin',
|
||||
role: 'moderator',
|
||||
}
|
||||
await expect(mutate({ mutation: switchUserRoleMutation, variables })).resolves.toEqual(
|
||||
expect.objectContaining({
|
||||
errors: [
|
||||
expect.objectContaining({
|
||||
message: 'you-cannot-change-your-own-role',
|
||||
}),
|
||||
],
|
||||
}),
|
||||
)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@ -30,46 +30,46 @@ const newlyCreatedNodesWithLocales = [
|
||||
city: {
|
||||
id: expect.stringContaining('place'),
|
||||
type: 'place',
|
||||
name: 'Hamburg',
|
||||
nameEN: 'Hamburg',
|
||||
nameDE: 'Hamburg',
|
||||
namePT: 'Hamburg',
|
||||
nameES: 'Hamburg',
|
||||
nameFR: 'Hamburg',
|
||||
nameIT: 'Hamburg',
|
||||
nameRU: 'Хамбург',
|
||||
nameNL: 'Hamburg',
|
||||
namePL: 'Hamburg',
|
||||
lng: -74.5763,
|
||||
lat: 41.1534,
|
||||
name: 'Welzheim',
|
||||
nameEN: 'Welzheim',
|
||||
nameDE: 'Welzheim',
|
||||
namePT: 'Welzheim',
|
||||
nameES: 'Welzheim',
|
||||
nameFR: 'Welzheim',
|
||||
nameIT: 'Welzheim',
|
||||
nameRU: 'Вельцхайм',
|
||||
nameNL: 'Welzheim',
|
||||
namePL: 'Welzheim',
|
||||
lng: 9.63444,
|
||||
lat: 48.87472,
|
||||
},
|
||||
state: {
|
||||
id: expect.stringContaining('region'),
|
||||
type: 'region',
|
||||
name: 'New Jersey',
|
||||
nameEN: 'New Jersey',
|
||||
nameDE: 'New Jersey',
|
||||
namePT: 'Nova Jérsia',
|
||||
nameES: 'Nueva Jersey',
|
||||
nameFR: 'New Jersey',
|
||||
nameIT: 'New Jersey',
|
||||
nameRU: 'Нью-Джерси',
|
||||
nameNL: 'New Jersey',
|
||||
namePL: 'New Jersey',
|
||||
name: 'Baden-Württemberg',
|
||||
nameDE: 'Baden-Württemberg',
|
||||
nameEN: 'Baden-Württemberg',
|
||||
nameES: 'Baden-Wurtemberg',
|
||||
nameFR: 'Bade-Wurtemberg',
|
||||
nameIT: 'Baden-Württemberg',
|
||||
nameNL: 'Baden-Württemberg',
|
||||
namePL: 'Badenia-Wirtembergia',
|
||||
namePT: 'Baden-Württemberg',
|
||||
nameRU: 'Баден-Вюртемберг',
|
||||
},
|
||||
country: {
|
||||
id: expect.stringContaining('country'),
|
||||
type: 'country',
|
||||
name: 'United States',
|
||||
nameEN: 'United States',
|
||||
nameDE: 'Vereinigte Staaten',
|
||||
namePT: 'Estados Unidos',
|
||||
nameES: 'Estados Unidos',
|
||||
nameFR: 'États-Unis',
|
||||
nameIT: "Stati Uniti d'America",
|
||||
nameRU: 'Соединённые Штаты Америки',
|
||||
nameNL: 'Verenigde Staten van Amerika',
|
||||
namePL: 'Stany Zjednoczone',
|
||||
name: 'Germany',
|
||||
nameDE: 'Deutschland',
|
||||
nameEN: 'Germany',
|
||||
nameES: 'Alemania',
|
||||
nameFR: 'Allemagne',
|
||||
nameIT: 'Germania',
|
||||
nameNL: 'Duitsland',
|
||||
namePL: 'Niemcy',
|
||||
namePT: 'Alemanha',
|
||||
nameRU: 'Германия',
|
||||
},
|
||||
},
|
||||
]
|
||||
@ -170,7 +170,7 @@ describe('userMiddleware', () => {
|
||||
...variables,
|
||||
id: 'updating-user',
|
||||
name: 'Updating user',
|
||||
locationName: 'Hamburg, New Jersey, United States of America',
|
||||
locationName: 'Welzheim, Baden-Württemberg, Germany',
|
||||
}
|
||||
await mutate({ mutation: updateUserMutation, variables })
|
||||
const locations = await neode.cypher(
|
||||
|
||||
@ -2,4 +2,4 @@ enum UserGroup {
|
||||
admin
|
||||
moderator
|
||||
user
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,6 +8,7 @@ type Image {
|
||||
alt: String,
|
||||
sensitive: Boolean,
|
||||
aspectRatio: Float,
|
||||
type: String,
|
||||
}
|
||||
|
||||
input ImageInput {
|
||||
@ -15,4 +16,5 @@ input ImageInput {
|
||||
upload: Upload,
|
||||
sensitive: Boolean,
|
||||
aspectRatio: Float,
|
||||
type: String,
|
||||
}
|
||||
|
||||
@ -170,6 +170,7 @@ type Query {
|
||||
filter: _UserFilter
|
||||
): [User]
|
||||
|
||||
availableRoles: [UserGroup]!
|
||||
mutedUsers: [User]
|
||||
blockedUsers: [User]
|
||||
isLoggedIn: Boolean!
|
||||
@ -215,4 +216,6 @@ type Mutation {
|
||||
unmuteUser(id: ID!): User
|
||||
blockUser(id: ID!): User
|
||||
unblockUser(id: ID!): User
|
||||
|
||||
switchUserRole(role: UserGroup!, id: ID!): User
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ocelot-social",
|
||||
"version": "0.6.5",
|
||||
"version": "0.6.14",
|
||||
"description": "Fullstack and API tests with cypress and cucumber for ocelot.social",
|
||||
"author": "ocelot.social Community",
|
||||
"license": "MIT",
|
||||
|
||||
@ -86,6 +86,7 @@ COPY --from=build ${DOCKER_WORKDIR}/node_modules ./node_modules
|
||||
COPY --from=build ${DOCKER_WORKDIR}/nuxt.config.js ./nuxt.config.js
|
||||
# Copy static files
|
||||
# TODO - this should be one Folder containign all stuff needed to be copied
|
||||
COPY --from=build ${DOCKER_WORKDIR}/config/ ./config/
|
||||
COPY --from=build ${DOCKER_WORKDIR}/constants ./constants
|
||||
COPY --from=build ${DOCKER_WORKDIR}/static ./static
|
||||
COPY --from=build ${DOCKER_WORKDIR}/locales ./locales
|
||||
|
||||
@ -191,10 +191,10 @@ $font-weight-bold: 600;
|
||||
* @presenter LineHeight
|
||||
*/
|
||||
|
||||
$line-height-large: 1.5;
|
||||
$line-height-base: 1.3;
|
||||
$line-height-small: 1.1;
|
||||
$line-height-smaller: 1.0;
|
||||
$line-height-large: 1.5rem;
|
||||
$line-height-base: 1.3rem;
|
||||
$line-height-small: 1.1rem;
|
||||
$line-height-smaller: 1.0rem;
|
||||
|
||||
/**
|
||||
* @tokens Letter Spacing
|
||||
@ -352,3 +352,7 @@ $media-query-small: (min-width: 600px);
|
||||
$media-query-medium: (min-width: 768px);
|
||||
$media-query-large: (min-width: 1024px);
|
||||
$media-query-x-large: (min-width: 1200px);
|
||||
|
||||
/**
|
||||
* @tokens Background Images
|
||||
*/
|
||||
|
||||
@ -151,6 +151,7 @@ describe('ContributionForm.vue', () => {
|
||||
aspectRatio: null,
|
||||
sensitive: false,
|
||||
upload: imageUpload,
|
||||
type: null,
|
||||
}
|
||||
const spy = jest
|
||||
.spyOn(FileReader.prototype, 'readAsDataURL')
|
||||
|
||||
@ -19,6 +19,7 @@
|
||||
:class="[formData.imageBlurred && '--blur-image']"
|
||||
@addHeroImage="addHeroImage"
|
||||
@addImageAspectRatio="addImageAspectRatio"
|
||||
@addImageType="addImageType"
|
||||
/>
|
||||
</template>
|
||||
<div v-if="formData.image" class="blur-toggle">
|
||||
@ -84,7 +85,11 @@ export default {
|
||||
},
|
||||
data() {
|
||||
const { title, content, image } = this.contribution
|
||||
const { sensitive: imageBlurred = false, aspectRatio: imageAspectRatio = null } = image || {}
|
||||
const {
|
||||
sensitive: imageBlurred = false,
|
||||
aspectRatio: imageAspectRatio = null,
|
||||
type: imageType = null,
|
||||
} = image || {}
|
||||
|
||||
return {
|
||||
links,
|
||||
@ -93,6 +98,7 @@ export default {
|
||||
content: content || '',
|
||||
image: image || null,
|
||||
imageAspectRatio,
|
||||
imageType,
|
||||
imageBlurred,
|
||||
},
|
||||
formSchema: {
|
||||
@ -125,6 +131,7 @@ export default {
|
||||
if (this.imageUpload) {
|
||||
image.upload = this.imageUpload
|
||||
image.aspectRatio = this.formData.imageAspectRatio
|
||||
image.type = this.formData.imageType
|
||||
}
|
||||
}
|
||||
this.loading = true
|
||||
@ -173,6 +180,9 @@ export default {
|
||||
addImageAspectRatio(aspectRatio) {
|
||||
this.formData.imageAspectRatio = aspectRatio
|
||||
},
|
||||
addImageType(imageType) {
|
||||
this.formData.imageType = imageType
|
||||
},
|
||||
},
|
||||
apollo: {
|
||||
User: {
|
||||
|
||||
78
webapp/components/Editor/ContentViewer.story.js
Normal file
@ -0,0 +1,78 @@
|
||||
import { storiesOf } from '@storybook/vue'
|
||||
import { withA11y } from '@storybook/addon-a11y'
|
||||
import ContentViewer from '~/components/Editor/ContentViewer.vue'
|
||||
import helpers from '~/storybook/helpers'
|
||||
|
||||
helpers.init()
|
||||
|
||||
storiesOf('ContentViewer', module)
|
||||
.addDecorator(withA11y)
|
||||
.addDecorator((storyFn) => {
|
||||
const ctx = storyFn()
|
||||
return {
|
||||
components: { ctx },
|
||||
template: `
|
||||
<base-card style="width: 50%; min-width: 500px; margin: 0 auto;">
|
||||
<ctx />
|
||||
</base-card>
|
||||
`,
|
||||
}
|
||||
})
|
||||
.addDecorator(helpers.layout)
|
||||
.add('Basic formatting', () => ({
|
||||
components: { ContentViewer },
|
||||
store: helpers.store,
|
||||
data: () => ({
|
||||
content: `
|
||||
<h3>Basic formatting</h3>
|
||||
<p>
|
||||
Here is some <em>italic</em>, <b>bold</b> and <u>underline</u> text.
|
||||
<br/>
|
||||
Also do we have some <a href="https://human-connection.org">inline links</a> here.
|
||||
</p>
|
||||
<h3>Heading 3</h3>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
|
||||
<h4>Heading 4</h4>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
|
||||
<h5>Heading 5</h5>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
|
||||
|
||||
<h3>Unordered List</h3>
|
||||
<ul>
|
||||
<li><p>Also some list</p></li>
|
||||
<li><p>with</p></li>
|
||||
<li><p>several</p></li>
|
||||
<li>
|
||||
<p>points</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>and indentations</p>
|
||||
<p>as well as text parapgraphs</p>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Ordered List</h3>
|
||||
<ol>
|
||||
<li>
|
||||
<p>ordered lists</p>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsu</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>can have indentations</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>and text parapgraphs, too</p>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
`,
|
||||
}),
|
||||
template: `<content-viewer :content="content" />`,
|
||||
}))
|
||||
@ -79,15 +79,35 @@ storiesOf('Editor', module)
|
||||
<li><p>Also some list</p></li>
|
||||
<li><p>with</p></li>
|
||||
<li><p>several</p></li>
|
||||
<li><p>points</p></li>
|
||||
<li>
|
||||
<p>points</p>
|
||||
<ul>
|
||||
<li>
|
||||
<p>and indentations</p>
|
||||
<p>as well as text parapgraphs</p>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>Ordered List</h3>
|
||||
<ol>
|
||||
<li><p>justo</p></li>
|
||||
<li><p>dolores</p></li>
|
||||
<li><p>et ea rebum</p></li>
|
||||
<li><p>kasd gubergren</p></li>
|
||||
<li>
|
||||
<p>ordered lists</p>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsu</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>can have indentations</p>
|
||||
<ol>
|
||||
<li>
|
||||
<p>and text parapgraphs, too</p>
|
||||
<p>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p><p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.</p>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
`,
|
||||
}),
|
||||
|
||||
@ -327,5 +327,46 @@ li > p {
|
||||
p {
|
||||
margin: 0 0 $space-x-small;
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: $space-x-large;
|
||||
|
||||
li {
|
||||
display: block;
|
||||
text-indent: -$space-large;
|
||||
|
||||
p:first-child:before {
|
||||
content: '•';
|
||||
padding: $space-none $space-x-small;
|
||||
margin-right: $space-x-small;
|
||||
}
|
||||
|
||||
p:not(:first-child) {
|
||||
padding-left: $space-base;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ol {
|
||||
// https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Lists_and_Counters/Using_CSS_counters
|
||||
counter-reset: item;
|
||||
padding-left: $space-x-large + 4px;
|
||||
|
||||
li {
|
||||
display: block;
|
||||
text-indent: -$space-large - 4px;
|
||||
|
||||
p:first-child:before {
|
||||
content: counters(item, '.') '.';
|
||||
counter-increment: item;
|
||||
padding: $space-none $space-x-small;
|
||||
margin-right: $space-x-small;
|
||||
}
|
||||
|
||||
p:not(:first-child) {
|
||||
padding-left: $space-base;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<base-button
|
||||
class="follow-button"
|
||||
class="track-button"
|
||||
:disabled="disabled || !followId"
|
||||
:loading="loading"
|
||||
:icon="icon"
|
||||
@ -85,7 +85,7 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.follow-button {
|
||||
.track-button {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@ -25,19 +25,11 @@ describe('ImageUploader.vue', () => {
|
||||
|
||||
describe('handles errors', () => {
|
||||
beforeEach(() => jest.useFakeTimers())
|
||||
const message = 'File upload failed'
|
||||
const fileError = { status: 'error' }
|
||||
const unSupportedFileMessage =
|
||||
'Please upload an image of file format : JPG , JPEG , PNG or GIF'
|
||||
|
||||
it('shows an error toaster when verror is called', () => {
|
||||
wrapper.vm.onDropzoneError(fileError, message)
|
||||
expect(mocks.$toast.error).toHaveBeenCalledWith(fileError.status, message)
|
||||
})
|
||||
const unSupportedFileMessage = 'message'
|
||||
|
||||
it('shows an error toaster when unSupported file is uploaded', () => {
|
||||
wrapper.vm.onUnSupportedFormat(fileError.status, unSupportedFileMessage)
|
||||
expect(mocks.$toast.error).toHaveBeenCalledWith(fileError.status, unSupportedFileMessage)
|
||||
wrapper.vm.onUnSupportedFormat(unSupportedFileMessage)
|
||||
expect(mocks.$toast.error).toHaveBeenCalledWith(unSupportedFileMessage)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@ -1,17 +1,21 @@
|
||||
<template>
|
||||
<div class="image-uploader">
|
||||
<vue-dropzone
|
||||
v-show="!showCropper"
|
||||
v-show="!showCropper && !hasImage"
|
||||
id="postdropzone"
|
||||
:options="dropzoneOptions"
|
||||
:use-custom-slot="true"
|
||||
@vdropzone-error="onDropzoneError"
|
||||
@vdropzone-file-added="initCropper"
|
||||
@vdropzone-file-added="fileAdded"
|
||||
>
|
||||
<loading-spinner v-if="isLoadingImage" />
|
||||
<base-icon v-else name="image" />
|
||||
<base-icon v-else-if="!hasImage" name="image" />
|
||||
<div v-if="!hasImage" class="supported-formats">
|
||||
{{ $t('contribution.teaserImage.supportedFormats') }}
|
||||
</div>
|
||||
</vue-dropzone>
|
||||
<div v-show="!showCropper && hasImage">
|
||||
<base-button
|
||||
v-if="hasImage"
|
||||
class="delete-image-button"
|
||||
icon="trash"
|
||||
circle
|
||||
danger
|
||||
@ -20,10 +24,12 @@
|
||||
:title="$t('actions.delete')"
|
||||
@click.stop="deleteImage"
|
||||
/>
|
||||
<div v-if="!hasImage" class="supported-formats">
|
||||
{{ $t('contribution.teaserImage.supportedFormats') }}
|
||||
</div>
|
||||
</vue-dropzone>
|
||||
</div>
|
||||
<div v-show="!showCropper && imageCanBeCropped" class="crop-overlay">
|
||||
<base-button class="crop-confirm" filled @click="initCropper">
|
||||
{{ $t('contribution.teaserImage.cropImage') }}
|
||||
</base-button>
|
||||
</div>
|
||||
<div v-show="showCropper" class="crop-overlay">
|
||||
<img id="cropping-image" />
|
||||
<base-button class="crop-confirm" filled @click="cropImage">
|
||||
@ -48,6 +54,8 @@ import Cropper from 'cropperjs'
|
||||
import LoadingSpinner from '~/components/_new/generic/LoadingSpinner/LoadingSpinner'
|
||||
import 'cropperjs/dist/cropper.css'
|
||||
|
||||
const minAspectRatio = 0.3
|
||||
|
||||
export default {
|
||||
components: {
|
||||
LoadingSpinner,
|
||||
@ -70,50 +78,64 @@ export default {
|
||||
cropper: null,
|
||||
file: null,
|
||||
showCropper: false,
|
||||
imageCanBeCropped: false,
|
||||
isLoadingImage: false,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onDropzoneError(file, message) {
|
||||
this.$toast.error(file.status, message)
|
||||
onUnSupportedFormat(message) {
|
||||
this.$toast.error(message)
|
||||
},
|
||||
|
||||
onUnSupportedFormat(status, message) {
|
||||
this.$toast.error(status, message)
|
||||
addImageProcess(src) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const img = new Image()
|
||||
img.onload = () => resolve(img)
|
||||
img.onerror = reject
|
||||
img.src = src
|
||||
})
|
||||
},
|
||||
initCropper(file) {
|
||||
async fileAdded(file) {
|
||||
const supportedFormats = ['image/jpg', 'image/jpeg', 'image/png', 'image/gif']
|
||||
|
||||
if (supportedFormats.indexOf(file.type) < 0) {
|
||||
this.onUnSupportedFormat(
|
||||
'error',
|
||||
this.$t('contribution.teaserImage.errors.unSupported-file-format'),
|
||||
)
|
||||
return
|
||||
this.onUnSupportedFormat(this.$t('contribution.teaserImage.errors.unSupported-file-format'))
|
||||
this.$nextTick((this.isLoadingImage = false))
|
||||
return null
|
||||
}
|
||||
this.showCropper = true
|
||||
const imageURL = URL.createObjectURL(file)
|
||||
const image = await this.addImageProcess(imageURL)
|
||||
const aspectRatio = image.width / image.height
|
||||
if (aspectRatio < minAspectRatio) {
|
||||
this.aspectRatioError()
|
||||
return null
|
||||
}
|
||||
this.saveImage(aspectRatio, file, file.type)
|
||||
this.file = file
|
||||
|
||||
if (this.file.type === 'image/jpeg') this.imageCanBeCropped = true
|
||||
this.$nextTick((this.isLoadingImage = false))
|
||||
},
|
||||
initCropper() {
|
||||
this.showCropper = true
|
||||
const imageElement = document.querySelector('#cropping-image')
|
||||
imageElement.src = URL.createObjectURL(file)
|
||||
imageElement.src = URL.createObjectURL(this.file)
|
||||
this.cropper = new Cropper(imageElement, { zoomable: false, autoCropArea: 0.9 })
|
||||
},
|
||||
cropImage() {
|
||||
this.isLoadingImage = true
|
||||
|
||||
const onCropComplete = (aspectRatio, imageFile) => {
|
||||
this.$emit('addImageAspectRatio', aspectRatio)
|
||||
this.$emit('addHeroImage', imageFile)
|
||||
const onCropComplete = (aspectRatio, imageFile, imageType) => {
|
||||
this.saveImage(aspectRatio, imageFile, imageType)
|
||||
this.$nextTick((this.isLoadingImage = false))
|
||||
this.closeCropper()
|
||||
}
|
||||
|
||||
if (this.file.type === 'image/jpeg') {
|
||||
const canvas = this.cropper.getCroppedCanvas()
|
||||
canvas.toBlob((blob) => {
|
||||
const imageAspectRatio = canvas.width / canvas.height
|
||||
if (imageAspectRatio < minAspectRatio) {
|
||||
this.aspectRatioError()
|
||||
return
|
||||
}
|
||||
const croppedImageFile = new File([blob], this.file.name, { type: this.file.type })
|
||||
onCropComplete(imageAspectRatio, croppedImageFile)
|
||||
onCropComplete(imageAspectRatio, croppedImageFile, 'image/jpeg')
|
||||
}, 'image/jpeg')
|
||||
} else {
|
||||
// TODO: use cropped file instead of original file
|
||||
@ -125,9 +147,18 @@ export default {
|
||||
this.showCropper = false
|
||||
this.cropper.destroy()
|
||||
},
|
||||
aspectRatioError() {
|
||||
this.$toast.error(this.$t('contribution.teaserImage.errors.aspect-ratio-too-small'))
|
||||
},
|
||||
saveImage(aspectRatio = 1.0, file, fileType) {
|
||||
this.$emit('addImageAspectRatio', aspectRatio)
|
||||
this.$emit('addHeroImage', file)
|
||||
this.$emit('addImageType', fileType)
|
||||
},
|
||||
deleteImage() {
|
||||
this.$emit('addHeroImage', null)
|
||||
this.$emit('addImageAspectRatio', null)
|
||||
this.$emit('addImageType', null)
|
||||
},
|
||||
},
|
||||
}
|
||||
@ -136,7 +167,6 @@ export default {
|
||||
.image-uploader {
|
||||
position: relative;
|
||||
min-height: $size-image-uploader-min-height;
|
||||
cursor: pointer;
|
||||
|
||||
.image + & {
|
||||
position: absolute;
|
||||
@ -181,6 +211,14 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
.delete-image-button {
|
||||
position: absolute;
|
||||
top: $space-small;
|
||||
right: $space-small;
|
||||
z-index: $z-index-surface;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dz-message {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
@ -189,6 +227,7 @@ export default {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: $z-index-surface;
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
> .base-icon {
|
||||
|
||||
@ -28,7 +28,6 @@
|
||||
</base-button>
|
||||
<ds-input
|
||||
v-if="!hasMore"
|
||||
v-focus="true"
|
||||
:name="`${type}Filter`"
|
||||
:placeholder="filter"
|
||||
class="spacer-x-small"
|
||||
|
||||
@ -18,6 +18,7 @@ const environment = {
|
||||
const server = {
|
||||
GRAPHQL_URI: process.env.GRAPHQL_URI || 'http://localhost:4000',
|
||||
BACKEND_TOKEN: process.env.BACKEND_TOKEN || 'NULL',
|
||||
WEBSOCKETS_URI: process.env.WEBSOCKETS_URI || 'ws://localhost:4000/graphql',
|
||||
}
|
||||
|
||||
const sentry = {
|
||||
|
||||
@ -51,6 +51,7 @@ export const postFragment = gql`
|
||||
url
|
||||
sensitive
|
||||
aspectRatio
|
||||
type
|
||||
}
|
||||
author {
|
||||
...user
|
||||
|
||||
23
webapp/graphql/admin/Roles.js
Normal file
@ -0,0 +1,23 @@
|
||||
import gql from 'graphql-tag'
|
||||
|
||||
export const FetchAllRoles = () => {
|
||||
return gql`
|
||||
query {
|
||||
availableRoles
|
||||
}
|
||||
`
|
||||
}
|
||||
|
||||
export const updateUserRole = (role, id) => {
|
||||
return gql`
|
||||
mutation($role: UserGroup!, $id: ID!) {
|
||||
switchUserRole(role: $role, id: $id) {
|
||||
name
|
||||
role
|
||||
id
|
||||
updatedAt
|
||||
email
|
||||
}
|
||||
}
|
||||
`
|
||||
}
|
||||
@ -63,6 +63,7 @@
|
||||
"placeholder": "E-Mail, Name oder Beschreibung"
|
||||
},
|
||||
"name": "Benutzer",
|
||||
"roleChanged": "Rolle erfolgreich geändert!",
|
||||
"table": {
|
||||
"columns": {
|
||||
"createdAt": "Erstellt am",
|
||||
@ -233,8 +234,10 @@
|
||||
"newPost": "Erstelle einen neuen Beitrag",
|
||||
"success": "Gespeichert!",
|
||||
"teaserImage": {
|
||||
"cropImage": "Bild zuschneiden",
|
||||
"cropperConfirm": "Bestätigen",
|
||||
"errors": {
|
||||
"aspect-ratio-too-small": "Dieses Bild ist zu hoch.",
|
||||
"unSupported-file-format": "Bitte lade ein Bild in den folgenden Formaten hoch: JPG, JPEG, PNG or GIF!"
|
||||
},
|
||||
"supportedFormats": "Füge ein Bild im Dateiformat JPG, PNG oder GIF ein"
|
||||
|
||||
@ -63,6 +63,7 @@
|
||||
"placeholder": "e-mail, name or description"
|
||||
},
|
||||
"name": "Users",
|
||||
"roleChanged": "Role changed successfully!",
|
||||
"table": {
|
||||
"columns": {
|
||||
"createdAt": "Created at",
|
||||
@ -233,8 +234,10 @@
|
||||
"newPost": "Create a new Post",
|
||||
"success": "Saved!",
|
||||
"teaserImage": {
|
||||
"cropImage": "Crop image",
|
||||
"cropperConfirm": "Confirm",
|
||||
"errors": {
|
||||
"aspect-ratio-too-small": "This image is too high.",
|
||||
"unSupported-file-format": "Please upload an image of file format: JPG, JPEG, PNG or GIF!"
|
||||
},
|
||||
"supportedFormats": "Insert a picture of file format JPG, PNG or GIF"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ocelot-social-webapp",
|
||||
"version": "0.6.5",
|
||||
"version": "0.6.14",
|
||||
"description": "ocelot.social Frontend",
|
||||
"repository": "https://github.com/Ocelot-Social-Community/Ocelot-Social",
|
||||
"author": "ocelot.social Community",
|
||||
|
||||
@ -1,27 +1,54 @@
|
||||
import { mount } from '@vue/test-utils'
|
||||
import { config, mount } from '@vue/test-utils'
|
||||
import Vuex from 'vuex'
|
||||
import Users from './users.vue'
|
||||
|
||||
const localVue = global.localVue
|
||||
config.stubs['nuxt-link'] = '<span><slot /></span>'
|
||||
|
||||
describe('Users', () => {
|
||||
let wrapper
|
||||
let Wrapper
|
||||
let mocks
|
||||
let getters
|
||||
|
||||
beforeEach(() => {
|
||||
mocks = {
|
||||
$t: jest.fn(),
|
||||
$apollo: {
|
||||
loading: false,
|
||||
},
|
||||
}
|
||||
})
|
||||
const mocks = {
|
||||
$t: jest.fn(),
|
||||
$apollo: {
|
||||
loading: false,
|
||||
mutate: jest
|
||||
.fn()
|
||||
.mockRejectedValue({ message: 'Ouch!' })
|
||||
.mockResolvedValue({
|
||||
data: {
|
||||
switchUserRole: {
|
||||
id: 'user',
|
||||
email: 'user@example.org',
|
||||
name: 'User',
|
||||
role: 'moderator',
|
||||
slug: 'user',
|
||||
},
|
||||
},
|
||||
}),
|
||||
},
|
||||
$toast: {
|
||||
error: jest.fn(),
|
||||
success: jest.fn(),
|
||||
},
|
||||
}
|
||||
|
||||
describe('mount', () => {
|
||||
getters = {
|
||||
'auth/isAdmin': () => true,
|
||||
'auth/user': () => {
|
||||
return { id: 'admin' }
|
||||
},
|
||||
}
|
||||
|
||||
Wrapper = () => {
|
||||
const store = new Vuex.Store({ getters })
|
||||
return mount(Users, {
|
||||
mocks,
|
||||
localVue,
|
||||
store,
|
||||
})
|
||||
}
|
||||
|
||||
@ -69,5 +96,54 @@ describe('Users', () => {
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe('change roles', () => {
|
||||
beforeAll(() => {
|
||||
wrapper = Wrapper()
|
||||
wrapper.setData({
|
||||
User: [
|
||||
{
|
||||
id: 'admin',
|
||||
email: 'admin@example.org',
|
||||
name: 'Admin',
|
||||
role: 'admin',
|
||||
slug: 'admin',
|
||||
},
|
||||
{
|
||||
id: 'user',
|
||||
email: 'user@example.org',
|
||||
name: 'User',
|
||||
role: 'user',
|
||||
slug: 'user',
|
||||
},
|
||||
],
|
||||
userRoles: ['user', 'moderator', 'admin'],
|
||||
})
|
||||
})
|
||||
|
||||
it('cannot change own role', () => {
|
||||
const adminRow = wrapper.findAll('tr').at(1)
|
||||
expect(adminRow.find('select').exists()).toBe(false)
|
||||
})
|
||||
|
||||
it('changes the role of another user', () => {
|
||||
const userRow = wrapper.findAll('tr').at(2)
|
||||
userRow.findAll('option').at(1).setSelected()
|
||||
expect(mocks.$apollo.mutate).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
variables: {
|
||||
id: 'user',
|
||||
role: 'moderator',
|
||||
},
|
||||
}),
|
||||
)
|
||||
})
|
||||
|
||||
it('toasts a success message after role has changed', () => {
|
||||
const userRow = wrapper.findAll('tr').at(2)
|
||||
userRow.findAll('option').at(1).setSelected()
|
||||
expect(mocks.$toast.success).toHaveBeenCalled()
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@ -48,6 +48,21 @@
|
||||
<template #createdAt="scope">
|
||||
{{ scope.row.createdAt | dateTime }}
|
||||
</template>
|
||||
|
||||
<template slot="role" slot-scope="scope">
|
||||
<template v-if="userRoles">
|
||||
<select
|
||||
v-if="scope.row.id !== currentUser.id"
|
||||
:value="`${scope.row.role}`"
|
||||
v-on:change="changeUserRole(scope.row.id, $event)"
|
||||
>
|
||||
<option v-for="value in userRoles" :key="value">
|
||||
{{ value }}
|
||||
</option>
|
||||
</select>
|
||||
<ds-text v-else>{{ scope.row.role }}</ds-text>
|
||||
</template>
|
||||
</template>
|
||||
</ds-table>
|
||||
<pagination-buttons :hasNext="hasNext" :hasPrevious="hasPrevious" @next="next" @back="back" />
|
||||
</base-card>
|
||||
@ -58,10 +73,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapGetters } from 'vuex'
|
||||
import gql from 'graphql-tag'
|
||||
import { isEmail } from 'validator'
|
||||
import normalizeEmail from '~/components/utils/NormalizeEmail'
|
||||
import PaginationButtons from '~/components/_new/generic/PaginationButtons/PaginationButtons'
|
||||
import { FetchAllRoles, updateUserRole } from '~/graphql/admin/Roles'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@ -77,6 +94,7 @@ export default {
|
||||
hasNext: false,
|
||||
email: null,
|
||||
filter: null,
|
||||
userRoles: [],
|
||||
form: {
|
||||
formData: {
|
||||
query: '',
|
||||
@ -88,6 +106,9 @@ export default {
|
||||
hasPrevious() {
|
||||
return this.offset > 0
|
||||
},
|
||||
...mapGetters({
|
||||
currentUser: 'auth/user',
|
||||
}),
|
||||
fields() {
|
||||
return {
|
||||
index: this.$t('admin.users.table.columns.number'),
|
||||
@ -153,6 +174,14 @@ export default {
|
||||
return User.map((u, i) => Object.assign({}, u, { index: this.offset + i }))
|
||||
},
|
||||
},
|
||||
userRoles: {
|
||||
query() {
|
||||
return FetchAllRoles()
|
||||
},
|
||||
update({ availableRoles }) {
|
||||
return availableRoles
|
||||
},
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
back() {
|
||||
@ -174,6 +203,20 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
changeUserRole(id, event) {
|
||||
const newRole = event.target.value
|
||||
this.$apollo
|
||||
.mutate({
|
||||
mutation: updateUserRole(),
|
||||
variables: { role: newRole, id },
|
||||
})
|
||||
.then(({ data }) => {
|
||||
this.$toast.success(this.$t('admin.users.roleChanged'))
|
||||
})
|
||||
.catch((error) => {
|
||||
this.$toast.error(error.message)
|
||||
})
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -44,19 +44,13 @@
|
||||
<h2 class="title hyphenate-text">{{ post.title }}</h2>
|
||||
<ds-space margin-bottom="small" />
|
||||
<content-viewer class="content hyphenate-text" :content="post.content" />
|
||||
<!-- eslint-enable vue/no-v-html -->
|
||||
<ds-space margin="xx-large" />
|
||||
<ds-space margin-bottom="small" />
|
||||
<!-- Tags -->
|
||||
<div v-if="post.tags && post.tags.length" class="tags">
|
||||
<ds-space margin="xx-small" />
|
||||
<hc-hashtag v-for="tag in sortedTags" :key="tag.id" :id="tag.id" />
|
||||
</div>
|
||||
<ds-space margin-top="x-large">
|
||||
<ds-space margin-top="small">
|
||||
<ds-flex :gutter="{ lg: 'small' }">
|
||||
<ds-flex-item :width="{ lg: '75%', md: '75%', sm: '75%', base: '100%' }">
|
||||
<hc-emotions :post="post" />
|
||||
</ds-flex-item>
|
||||
<!-- Shout Button -->
|
||||
<ds-flex-item
|
||||
:width="{ lg: '15%', md: '22%', sm: '22%', base: '100%' }"
|
||||
@ -107,7 +101,6 @@ import {
|
||||
sortTagsAlphabetically,
|
||||
} from '~/components/utils/PostHelpers'
|
||||
import PostQuery from '~/graphql/PostQuery'
|
||||
import HcEmotions from '~/components/Emotions/Emotions'
|
||||
import PostMutations from '~/graphql/PostMutations'
|
||||
import links from '~/constants/links.js'
|
||||
|
||||
@ -124,7 +117,6 @@ export default {
|
||||
ContentMenu,
|
||||
CommentForm,
|
||||
CommentList,
|
||||
HcEmotions,
|
||||
ContentViewer,
|
||||
},
|
||||
head() {
|
||||
@ -176,13 +168,13 @@ export default {
|
||||
/* Return false when image property is not present or is not a number
|
||||
so no unnecessary css variables are set.
|
||||
*/
|
||||
if (!this.post.image || typeof this.post.image.aspectRatio !== 'number') return false
|
||||
|
||||
if (!this.post.image || typeof this.post.image.aspectRatio !== 'number') return false
|
||||
/* Return the aspect ratio as a css variable. Later to be used when calculating
|
||||
the height with respect to the width.
|
||||
*/
|
||||
return {
|
||||
'--hero-image-aspect-ratio': 1 / this.post.image.aspectRatio,
|
||||
'--hero-image-aspect-ratio': 1.0 / this.post.image.aspectRatio,
|
||||
}
|
||||
},
|
||||
},
|
||||
@ -258,8 +250,8 @@ export default {
|
||||
hero image aspect ratio) before the hero image loads so
|
||||
the autoscroll works correctly when following a comment link.
|
||||
*/
|
||||
padding-top: calc(var(--hero-image-aspect-ratio) * 100%);
|
||||
|
||||
padding-top: calc(var(--hero-image-aspect-ratio) * (100% + 48px));
|
||||
/* Letting the image fill the container, since the container
|
||||
is the one determining height
|
||||
*/
|
||||
|
||||
@ -11,7 +11,7 @@ export default ({ req, nuxtState }) => {
|
||||
const backendUrl = env.GRAPHQL_URI || 'http://localhost:4000'
|
||||
|
||||
return {
|
||||
wsEndpoint: env.WEBSOCKETS_URI || 'ws://localhost:4000/graphql',
|
||||
wsEndpoint: env.WEBSOCKETS_URI,
|
||||
httpEndpoint: process.server ? backendUrl : '/api',
|
||||
httpLinkOptions: {
|
||||
credentials: 'same-origin',
|
||||
|
||||
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 19 KiB |
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="828" height="260" viewBox="0 0 828 260" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(20.1687,-2.56346,1.16905,9.19781,-4871.51,-1187.23)">
|
||||
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
|
||||
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
|
||||
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
|
||||
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
|
||||
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
|
||||
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(2.95533,0,0,2.95533,-18.4944,-17.8011)">
|
||||
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>
|
||||
<path d="M50,86.57C52.004,86.57 56.013,85.541 56.013,85.541C57.049,85.809 56.732,86.99 59.5,86.414C59.5,86.414 60.917,86.187 61.043,87.1C61.17,88.013 60.255,90.034 57.757,91.5C55.258,92.966 52.642,92.872 50,92.901C47.358,92.872 44.742,92.966 42.243,91.5C39.745,90.034 38.83,88.013 38.957,87.1C39.083,86.187 40.5,86.414 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C43.987,85.541 47.996,86.57 50,86.57Z" style="fill:rgb(134,131,131);"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 28 KiB |
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="600" height="570" viewBox="0 0 600 570" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(19.3864,-2.46403,1.12371,8.84107,-4780.51,-981.139)">
|
||||
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
|
||||
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
|
||||
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
|
||||
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
|
||||
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
|
||||
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.04809,0,0,1.04809,274.036,-174.508)">
|
||||
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
|
||||
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 28 KiB |
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="619" height="593" viewBox="0 0 619 593" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(20.1687,-2.56346,1.16905,9.19781,-4976.01,-1020.73)">
|
||||
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
|
||||
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
|
||||
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
|
||||
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
|
||||
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
|
||||
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.09038,0,0,1.09038,282.489,-181.549)">
|
||||
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
|
||||
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 28 KiB |
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="600" height="570" viewBox="0 0 600 570" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(19.3864,-2.46403,1.12371,8.84107,-4780.51,-981.139)">
|
||||
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
|
||||
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
|
||||
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
|
||||
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
|
||||
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
|
||||
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.04809,0,0,1.04809,274.036,-174.508)">
|
||||
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
|
||||
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 28 KiB |
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="600" height="570" viewBox="0 0 600 570" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(19.3864,-2.46403,1.12371,8.84107,-4780.51,-981.139)">
|
||||
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
|
||||
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
|
||||
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
|
||||
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
|
||||
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
|
||||
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.04809,0,0,1.04809,274.036,-174.508)">
|
||||
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
|
||||
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 28 KiB |
@ -1,23 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="619" height="593" viewBox="0 0 619 593" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(20.1687,-2.56346,1.16905,9.19781,-4976.01,-1020.73)">
|
||||
<g transform="matrix(19.367,0,0,42.4673,232.904,227.313)">
|
||||
<path d="M0.033,-0.722L0.01,-0.722C0.006,-0.724 0.004,-0.726 0.004,-0.728C0.004,-0.73 0.006,-0.732 0.01,-0.734L0.161,-0.734C0.163,-0.734 0.164,-0.734 0.165,-0.733C0.166,-0.732 0.167,-0.73 0.167,-0.728C0.167,-0.726 0.166,-0.725 0.165,-0.723C0.164,-0.722 0.163,-0.722 0.161,-0.722L0.135,-0.722L0.181,-0.229L0.228,-0.677L0.223,-0.722L0.199,-0.722C0.197,-0.722 0.196,-0.722 0.195,-0.723C0.193,-0.725 0.193,-0.726 0.193,-0.728C0.193,-0.73 0.193,-0.732 0.195,-0.733C0.196,-0.734 0.197,-0.734 0.199,-0.734L0.352,-0.734C0.356,-0.732 0.357,-0.73 0.357,-0.728C0.357,-0.726 0.356,-0.724 0.352,-0.722L0.324,-0.722L0.371,-0.229L0.418,-0.667C0.419,-0.671 0.419,-0.676 0.419,-0.68C0.419,-0.691 0.417,-0.7 0.414,-0.707C0.411,-0.714 0.406,-0.718 0.4,-0.721L0.385,-0.723C0.383,-0.724 0.382,-0.725 0.382,-0.728C0.382,-0.73 0.384,-0.732 0.388,-0.734L0.469,-0.734C0.472,-0.732 0.474,-0.73 0.474,-0.728C0.474,-0.726 0.474,-0.725 0.473,-0.724C0.472,-0.723 0.471,-0.722 0.469,-0.722C0.46,-0.721 0.453,-0.716 0.446,-0.707C0.437,-0.695 0.432,-0.68 0.43,-0.662L0.365,-0.054C0.361,-0.025 0.359,-0.009 0.356,-0.004C0.354,-0.001 0.351,-0 0.347,-0L0.312,-0C0.307,-0 0.303,-0.002 0.301,-0.006L0.295,-0.06L0.233,-0.62L0.175,-0.054C0.172,-0.023 0.169,-0.007 0.168,-0.005C0.166,-0.002 0.162,-0 0.156,-0L0.121,-0C0.117,-0 0.114,-0.001 0.112,-0.004C0.111,-0.006 0.109,-0.021 0.106,-0.048L0.033,-0.722Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,243.638,227.313)">
|
||||
<path d="M0.122,-0.734L0.122,-0.484C0.135,-0.502 0.147,-0.514 0.157,-0.52C0.168,-0.527 0.18,-0.53 0.194,-0.53C0.216,-0.53 0.231,-0.524 0.24,-0.513C0.253,-0.497 0.26,-0.473 0.26,-0.441L0.26,-0.013L0.277,-0.013C0.281,-0.01 0.282,-0.008 0.282,-0.006C0.282,-0.004 0.281,-0.002 0.277,-0L0.161,-0C0.158,-0.002 0.157,-0.004 0.157,-0.006C0.157,-0.009 0.158,-0.011 0.161,-0.013L0.172,-0.013L0.172,-0.467C0.172,-0.479 0.17,-0.487 0.167,-0.491C0.165,-0.494 0.161,-0.496 0.157,-0.496C0.149,-0.496 0.142,-0.492 0.136,-0.482C0.126,-0.469 0.122,-0.45 0.122,-0.427L0.122,-0.013L0.135,-0.013C0.138,-0.01 0.14,-0.008 0.14,-0.006C0.14,-0.004 0.138,-0.002 0.135,-0L0.014,-0L0.012,-0.001L0.01,-0.006C0.01,-0.009 0.012,-0.011 0.014,-0.013L0.036,-0.013L0.036,-0.722L0.014,-0.722C0.011,-0.724 0.009,-0.726 0.009,-0.728C0.009,-0.73 0.011,-0.732 0.014,-0.734L0.122,-0.734Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,250.732,227.313)">
|
||||
<path d="M0.025,-0.689C0.025,-0.703 0.03,-0.715 0.04,-0.725C0.05,-0.735 0.062,-0.74 0.076,-0.74C0.09,-0.74 0.103,-0.735 0.113,-0.725C0.123,-0.715 0.128,-0.703 0.128,-0.689C0.128,-0.675 0.123,-0.662 0.113,-0.652C0.103,-0.642 0.09,-0.637 0.076,-0.637C0.062,-0.637 0.05,-0.642 0.04,-0.652C0.03,-0.662 0.025,-0.675 0.025,-0.689ZM0.032,-0.511L0.013,-0.511C0.011,-0.511 0.01,-0.512 0.009,-0.513C0.007,-0.514 0.007,-0.516 0.007,-0.518C0.007,-0.52 0.007,-0.521 0.009,-0.522C0.01,-0.523 0.011,-0.524 0.013,-0.524L0.119,-0.524L0.119,-0.013L0.14,-0.013C0.142,-0.013 0.144,-0.012 0.145,-0.011C0.146,-0.01 0.146,-0.008 0.146,-0.006C0.146,-0.004 0.146,-0.003 0.145,-0.002C0.144,-0.001 0.142,-0 0.14,-0L0.013,-0C0.01,-0.002 0.008,-0.004 0.008,-0.006C0.008,-0.009 0.01,-0.011 0.013,-0.013L0.032,-0.013L0.032,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,255.217,227.313)">
|
||||
<path d="M0.043,-0.511L0.021,-0.511C0.018,-0.511 0.015,-0.512 0.014,-0.513C0.012,-0.514 0.011,-0.516 0.011,-0.518C0.011,-0.52 0.013,-0.523 0.016,-0.525C0.043,-0.547 0.063,-0.568 0.075,-0.589C0.088,-0.61 0.098,-0.634 0.108,-0.662C0.115,-0.682 0.118,-0.696 0.119,-0.704L0.12,-0.727C0.121,-0.728 0.122,-0.729 0.124,-0.729C0.126,-0.729 0.128,-0.729 0.129,-0.728C0.13,-0.727 0.13,-0.725 0.13,-0.724L0.13,-0.524L0.203,-0.524C0.206,-0.524 0.208,-0.523 0.209,-0.522C0.211,-0.521 0.211,-0.519 0.211,-0.518C0.211,-0.516 0.211,-0.514 0.209,-0.513C0.208,-0.512 0.206,-0.511 0.203,-0.511L0.13,-0.511L0.13,-0.057C0.13,-0.043 0.132,-0.033 0.136,-0.028C0.139,-0.024 0.143,-0.022 0.148,-0.022C0.159,-0.022 0.169,-0.028 0.177,-0.041C0.19,-0.06 0.196,-0.089 0.196,-0.128L0.196,-0.199C0.196,-0.204 0.197,-0.207 0.199,-0.21C0.201,-0.212 0.202,-0.212 0.204,-0.212C0.206,-0.212 0.208,-0.212 0.209,-0.21C0.211,-0.207 0.212,-0.204 0.212,-0.199L0.212,-0.145C0.212,-0.09 0.203,-0.051 0.186,-0.028C0.168,-0.006 0.147,0.006 0.121,0.006C0.096,0.006 0.078,-0.001 0.067,-0.014C0.051,-0.032 0.043,-0.057 0.043,-0.09L0.043,-0.511Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(19.367,0,0,42.4673,260.939,227.313)">
|
||||
<path d="M0.101,-0.26L0.101,-0.079C0.101,-0.05 0.104,-0.032 0.11,-0.022C0.115,-0.016 0.123,-0.012 0.134,-0.012C0.153,-0.012 0.169,-0.022 0.183,-0.043C0.207,-0.077 0.22,-0.125 0.221,-0.184C0.222,-0.204 0.222,-0.215 0.224,-0.217C0.225,-0.22 0.227,-0.221 0.23,-0.221C0.232,-0.221 0.234,-0.22 0.235,-0.218C0.237,-0.216 0.238,-0.209 0.238,-0.2C0.238,-0.142 0.228,-0.093 0.207,-0.053C0.187,-0.014 0.16,0.006 0.125,0.006C0.093,0.006 0.066,-0.009 0.045,-0.04C0.024,-0.07 0.013,-0.136 0.013,-0.238L0.013,-0.31C0.013,-0.387 0.028,-0.446 0.056,-0.487C0.077,-0.515 0.101,-0.53 0.13,-0.53C0.165,-0.53 0.191,-0.511 0.21,-0.475C0.229,-0.438 0.238,-0.393 0.238,-0.34L0.238,-0.26L0.101,-0.26ZM0.151,-0.273L0.151,-0.481C0.151,-0.495 0.149,-0.505 0.144,-0.512C0.14,-0.517 0.135,-0.519 0.127,-0.519C0.12,-0.519 0.114,-0.516 0.109,-0.51C0.103,-0.504 0.101,-0.494 0.101,-0.481L0.101,-0.273L0.151,-0.273Z" style="fill:rgb(204,204,204);fill-opacity:0.4;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.09038,0,0,1.09038,282.489,-181.549)">
|
||||
<g transform="matrix(2.95533,0,0,2.95533,-122.994,148.699)">
|
||||
<path d="M50.078,80.683C50.078,83.106 55.132,85.274 56.169,85.541C57.205,85.809 56.888,86.99 59.656,86.414C62.423,85.837 65.412,83.181 68.261,79.517C71.11,75.853 69.025,73.224 66.9,70.435C64.775,67.646 60.169,64.412 59.656,58.155C59.252,53.234 63.3,53.047 64.996,52.876C66.693,52.705 69.497,54.85 70.654,54.602C71.76,54.366 76.418,58.834 76.929,57.234C76.642,55.298 77.838,54.264 79.448,54.2C81.057,54.136 81.623,56.773 82.356,58.155C83.259,59.861 83.998,58.66 84.146,57.229C84.538,53.415 83.26,49.493 83.911,46.972C84.277,45.555 85.282,45.386 86.792,43.731C90.77,39.372 90.818,32.915 89.923,29.827C90.954,28.574 92.317,28.571 92.521,21.538C92.726,14.505 87.451,8.531 86.038,7.721C84.624,6.91 80.605,7.633 79.555,8.51C78.506,9.387 66.486,19.391 64.996,21.1C63.507,22.81 62.752,23.616 63.556,27.206C60.728,24.559 56.073,22.692 50.078,23.64C44.083,22.692 39.427,24.559 36.6,27.206C37.403,23.616 36.649,22.81 35.159,21.1C33.669,19.391 21.65,9.387 20.6,8.51C19.551,7.633 15.532,6.91 14.118,7.721C12.704,8.531 7.43,14.505 7.634,21.538C7.838,28.571 9.201,28.574 10.233,29.827C9.337,32.915 9.385,39.372 13.363,43.731C14.874,45.386 15.878,45.555 16.245,46.972C16.896,49.493 15.617,53.415 16.01,57.229C16.157,58.66 16.896,59.861 17.8,58.155C18.532,56.773 19.099,54.136 20.708,54.2C22.317,54.264 23.514,55.298 23.227,57.234C23.737,58.834 28.396,54.366 29.502,54.602C30.659,54.85 33.462,52.705 35.159,52.876C36.856,53.047 40.904,53.234 40.5,58.155C39.987,64.412 35.381,67.646 33.256,70.435C31.13,73.224 29.046,75.853 31.894,79.517C34.743,83.181 37.732,85.837 40.5,86.414C43.268,86.99 42.951,85.809 43.987,85.541C45.023,85.274 50.078,83.106 50.078,80.683C50.078,78.259 50.078,78.259 50.078,80.683Z" style="fill:rgb(230,121,25);"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 28 KiB |
@ -5107,7 +5107,7 @@ request-progress@3.0.0:
|
||||
dependencies:
|
||||
throttleit "^1.0.0"
|
||||
|
||||
"request@github:cypress-io/request#b5af0d1fa47eec97ba980cde90a13e69a2afcd16":
|
||||
request@cypress-io/request#b5af0d1fa47eec97ba980cde90a13e69a2afcd16:
|
||||
version "2.88.1"
|
||||
resolved "https://codeload.github.com/cypress-io/request/tar.gz/b5af0d1fa47eec97ba980cde90a13e69a2afcd16"
|
||||
dependencies:
|
||||
|
||||