appscms-tools-theme 2.2.7 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b53479fb3c05e44f563004959f86f7191b965dc7760f388b08b6d053830cc5c1
4
- data.tar.gz: 2169984f603e860fbbd8171c34e1e0ea64684e3ba3064416a9cf41873a3aec6b
3
+ metadata.gz: 1f78ea3fc9eba752da1b32275ac62621b711f58dc43629c4212d82b5f4fcde6b
4
+ data.tar.gz: 3195c5483f102e649beaaa8eca3ca6270368fc34c947ebe283744136141f97c1
5
5
  SHA512:
6
- metadata.gz: 0e896783ef377f8258758dfc48afdc06165ff2df1ab3ff3696a05cd1287b74d83573a9deb754f77ef9ef1115ee67ed604adb5ed1f7302be09a4ccef58e0a6fd5
7
- data.tar.gz: cd18f54d54cf772f3121408c8a6310031d73ab697a1ae702be9ac47278ea7569239adf5bac67dbe5a1ddac6280120ca089abf86a4d5196210c6af3c88c330167
6
+ metadata.gz: 665ec48d3a2bcbbf867698e406055de6af11c82fbfbbddfbea2717b3e59a8296723dd98b6c378a0a44f69733161a99d4fd2afe1112d6624402f70042692ae377
7
+ data.tar.gz: 12506bbe273d42ba90f976fc4874cb54ffae1fd3a6489bff416f6d284e2c7f9da97a7aa1475ebd3656fb3c5bf91796720ec87a0821b4aa187ee79314b50c9858
@@ -3,7 +3,7 @@
3
3
  "htmlLangAtt": "en",
4
4
  "H1": "The frame",
5
5
  "H2": "Upload the image and apply your favourite border",
6
- "color": "#FF5554",
6
+ "color": "#ff6131",
7
7
  "imgwidth": "35px",
8
8
  "imgheight": "35px",
9
9
  "imgalt": "altvalue",
@@ -27,12 +27,12 @@
27
27
  "https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.12/cropper.css",
28
28
  "/assets/css/frame.css"
29
29
  ],
30
- "mainPreviewImage": "https://cdn.photofunia.com/effects/calendar/icons/medium.jpg",
30
+ "mainPreviewImage": "https://cdn.photofunia.com/effects/balloon/icons/medium.jpg",
31
31
  "imageSamples": [
32
- "https://cdn.photofunia.com/effects/calendar/examples/1v705mc_o.jpg",
33
- "https://cdn.photofunia.com/effects/calendar/examples/1v705mc_o.jpg",
34
- "https://cdn.photofunia.com/effects/calendar/examples/1v705mc_o.jpg",
35
- "https://cdn.photofunia.com/effects/calendar/examples/1v705mc_o.jpg"
32
+ "https://cdn.photofunia.com/effects/balloon/icons/medium.jpg",
33
+ "https://cdn.photofunia.com/effects/balloon/icons/medium.jpg",
34
+ "https://cdn.photofunia.com/effects/balloon/icons/medium.jpg",
35
+ "https://cdn.photofunia.com/effects/balloon/icons/medium.jpg"
36
36
  ],
37
37
  "image": {
38
38
  "src": "/assets/images/gallary.png",
@@ -45,7 +45,12 @@
45
45
  "elements": [
46
46
  {
47
47
  "type": "image",
48
- "label": "1."
48
+ "label": "Choose Your Image"
49
+ },
50
+ {
51
+ "type": "text",
52
+ "id": "text-1",
53
+ "label": "text"
49
54
  }
50
55
  ]
51
56
  }
@@ -0,0 +1,24 @@
1
+ {
2
+ "Language": "English",
3
+ "htmlLangAtt": "en",
4
+ "H1": "All effects",
5
+ "H2": "Largest and best collection of photo effects",
6
+ "color": "#ff6131",
7
+ "imgwidth": "35px",
8
+ "imgheight": "35px",
9
+ "imgalt": "altvalue",
10
+ "nofileupload": true,
11
+ "variant": "primary",
12
+ "TITLE": "Image border tool- Surround your images with a border",
13
+ "META": "Image border tool helps you to add a simple border frame to your image. You can customize border colour and width. Border sets the focal subject.",
14
+ "TEXTUAL_CONTENT": [],
15
+ "FAQ": [
16
+ {
17
+ "question": "",
18
+ "answer": ""
19
+ }
20
+ ],
21
+ "cssfilepaths": [
22
+ "/assets/css/frame.css"
23
+ ]
24
+ }
@@ -323,123 +323,6 @@
323
323
  }
324
324
  ]
325
325
  },
326
- {
327
- "category": "All effects",
328
- "features": [
329
- {
330
- "name": "Calendar",
331
- "link": "/calendar"
332
- }
333
- ]
334
- },
335
- {
336
- "category": "All effects",
337
- "features": [
338
- {
339
- "name": "Calendar",
340
- "link": "/calendar"
341
- }
342
- ]
343
- },
344
- {
345
- "category": "All effects",
346
- "features": [
347
- {
348
- "name": "Calendar",
349
- "link": "/calendar"
350
- }
351
- ]
352
- },
353
- {
354
- "category": "All effects",
355
- "features": [
356
- {
357
- "name": "Calendar",
358
- "link": "/calendar"
359
- }
360
- ]
361
- },
362
- {
363
- "category": "All effects",
364
- "features": [
365
- {
366
- "name": "Calendar",
367
- "link": "/calendar"
368
- }
369
- ]
370
- },
371
- {
372
- "category": "All effects",
373
- "features": [
374
- {
375
- "name": "Calendar",
376
- "link": "/calendar"
377
- }
378
- ]
379
- },
380
- {
381
- "category": "All effects",
382
- "features": [
383
- {
384
- "name": "Calendar",
385
- "link": "/calendar"
386
- }
387
- ]
388
- },
389
- {
390
- "category": "All effects",
391
- "features": [
392
- {
393
- "name": "Calendar",
394
- "link": "/calendar"
395
- }
396
- ]
397
- },
398
- {
399
- "category": "All effects",
400
- "features": [
401
- {
402
- "name": "Calendar",
403
- "link": "/calendar"
404
- }
405
- ]
406
- },
407
- {
408
- "category": "All effects",
409
- "features": [
410
- {
411
- "name": "Calendar",
412
- "link": "/calendar"
413
- }
414
- ]
415
- },
416
- {
417
- "category": "All effects",
418
- "features": [
419
- {
420
- "name": "Calendar",
421
- "link": "/calendar"
422
- }
423
- ]
424
- },
425
- {
426
- "category": "All effects",
427
- "features": [
428
- {
429
- "name": "Calendar",
430
- "link": "/calendar"
431
- }
432
- ]
433
- },
434
- {
435
- "category": "All effects",
436
- "features": [
437
- {
438
- "name": "Calendar",
439
- "link": "/calendar"
440
- }
441
- ]
442
- },
443
326
  {
444
327
  "category": "All effects",
445
328
  "features": [
@@ -0,0 +1,117 @@
1
+ [
2
+ {
3
+ "featureName": "Hot Air Balloon",
4
+ "url": "/",
5
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
6
+ },
7
+ {
8
+ "featureName": "Hot Air Balloon",
9
+ "url": "/",
10
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
11
+ },
12
+ {
13
+ "featureName": "Hot Air Balloon",
14
+ "url": "/",
15
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
16
+ },
17
+ {
18
+ "featureName": "Hot Air Balloon",
19
+ "url": "/",
20
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
21
+ },
22
+ {
23
+ "featureName": "Hot Air Balloon",
24
+ "url": "/",
25
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
26
+ },
27
+ {
28
+ "featureName": "Hot Air Balloon",
29
+ "url": "/",
30
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
31
+ },
32
+ {
33
+ "featureName": "Hot Air Balloon",
34
+ "url": "/",
35
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
36
+ },
37
+ {
38
+ "featureName": "Hot Air Balloon",
39
+ "url": "/",
40
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
41
+ },
42
+ {
43
+ "featureName": "Hot Air Balloon",
44
+ "url": "/",
45
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
46
+ },
47
+ {
48
+ "featureName": "Hot Air Balloon",
49
+ "url": "/",
50
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
51
+ },
52
+ {
53
+ "featureName": "Hot Air Balloon",
54
+ "url": "/",
55
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
56
+ },
57
+ {
58
+ "featureName": "Hot Air Balloon",
59
+ "url": "/",
60
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
61
+ },
62
+ {
63
+ "featureName": "Hot Air Balloon",
64
+ "url": "/",
65
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
66
+ },
67
+ {
68
+ "featureName": "Hot Air Balloon",
69
+ "url": "/",
70
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
71
+ },
72
+ {
73
+ "featureName": "Hot Air Balloon",
74
+ "url": "/",
75
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
76
+ },
77
+ {
78
+ "featureName": "Hot Air Balloon",
79
+ "url": "/",
80
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
81
+ },
82
+ {
83
+ "featureName": "Hot Air Balloon",
84
+ "url": "/",
85
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
86
+ },
87
+ {
88
+ "featureName": "Hot Air Balloon",
89
+ "url": "/",
90
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
91
+ },
92
+ {
93
+ "featureName": "Hot Air Balloon",
94
+ "url": "/",
95
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
96
+ },
97
+ {
98
+ "featureName": "Hot Air Balloon",
99
+ "url": "/",
100
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
101
+ },
102
+ {
103
+ "featureName": "Hot Air Balloon",
104
+ "url": "/",
105
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
106
+ },
107
+ {
108
+ "featureName": "Hot Air Balloon",
109
+ "url": "/",
110
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
111
+ },
112
+ {
113
+ "featureName": "Hot Air Balloon",
114
+ "url": "/",
115
+ "image": "https://cdn.photofunia.com/effects/balloon/icons/regular.jpg"
116
+ }
117
+ ]
@@ -26,7 +26,14 @@ replace: "$tool", page.tool }}
26
26
  {%- endfor -%}
27
27
  {%- endif -%}
28
28
  <script src="//cdnjs.cloudflare.com/ajax/libs/webfont/1.6.28/webfontloader.js" crossorigin="anonymous"></script>
29
- <script>WebFont.load({ google: { families: ['Source Sans Pro:200,300,400,500,600,700,800&display=swap'] } })</script>
29
+ {%- assign font = "Source Sans Pro" -%}
30
+ {%- if page.layout == "frame" -%}
31
+ {%- assign font = "PT Sans" -%}
32
+ {%- endif -%}
33
+ {%- if page.layout == "photo-effects-home" -%}
34
+ {%- assign font = "PT Sans" -%}
35
+ {%- endif -%}
36
+ <script>WebFont.load({ google: { families: ['{{font}}:200,300,400,500,600,700,800&display=swap'] } })</script>
30
37
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"
31
38
  integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w=="
32
39
  crossorigin="anonymous" referrerpolicy="no-referrer" />
@@ -27,7 +27,7 @@
27
27
  </div>
28
28
  </div>
29
29
  {%- endif -%}
30
- {%- if page.layout != "frame" -%}
30
+ {%- if page.layout != "frame" and page.layout != "photo-effects-home" -%}
31
31
  <div class="flex-container pb-3">
32
32
  <div class="flex-class py-4 mt-4 mt-md-0 ">
33
33
  <div class="d-flex justify-content-center align-items-center"><span class="fHhdVc">
data/_layouts/frame.html CHANGED
@@ -3,7 +3,7 @@ layout: feature
3
3
  ---
4
4
 
5
5
  {%- assign fileData = site.data[page.folderName][page.lang][page.fileName] -%}
6
- <div class="container mt-5">
6
+ <div class="container mt-4">
7
7
  <div class="col-md-11 mx-auto">
8
8
  <div class="row">
9
9
  <div class="col-md-3">
@@ -12,22 +12,20 @@ layout: feature
12
12
  <div class="categories-list">
13
13
  <div class="accordion" id="accordionExample">
14
14
  {%- for item in site.data.photo-categories -%}
15
- <div class="card">
15
+ <div class="card card-hover">
16
16
  <div class="card-header" id="heading-{{forloop.index}}">
17
- <h3 class="mb-0">
18
- <button class="btn btn-block text-left p-0" type="button" data-toggle="collapse"
19
- data-target="#collapse-{{forloop.index}}" aria-expanded="true"
20
- aria-controls="collapse-{{forloop.index}}">
21
- {{item.category}}
22
- </button>
23
- </h3>
17
+ <button class="btn btn-block text-left p-0" type="button" data-toggle="collapse"
18
+ data-target="#collapse-{{forloop.index}}" aria-expanded="true"
19
+ aria-controls="collapse-{{forloop.index}}">
20
+ {{item.category}} <i class="fas fa-angle-down"></i>
21
+ </button>
24
22
  </div>
25
23
 
26
24
  <div id="collapse-{{forloop.index}}" class="collapse"
27
25
  aria-labelledby="heading-{{forloop.index}}" data-parent="#accordionExample">
28
26
  <div class="card-body">
29
27
  {%- for i in item.features -%}
30
- <a href="{{i.link}}">{{i.name}}</a>
28
+ <a href="{{i.link}}">{{i.name}} </a>
31
29
  {%- endfor -%}
32
30
  </div>
33
31
  </div>
@@ -38,11 +36,11 @@ layout: feature
38
36
 
39
37
  </div>
40
38
  <div class="col-md-9">
41
- <div class="row">
39
+ <div class="row" id="upper-panel">
42
40
  <div class="col-md-8">
43
- <div class="flex-container pb-3">
44
- <div class="flex-class py-4 mt-4 mt-md-0 ">
45
- <div class="d-flex justify-content-center align-items-center">
41
+ <div>
42
+ <div>
43
+ <div>
46
44
  {%- assign frameh1 = fileData.H1 | replace: "$variable", page.value -%}
47
45
  <h1 class="frame-h1">{%- for word in frameh1-%}
48
46
  {%- if forloop.first == true -%}
@@ -67,7 +65,7 @@ layout: feature
67
65
  <div class="preview-section">
68
66
  <img src="{{fileData.mainPreviewImage}}" alt="">
69
67
  </div>
70
- <h3>Examples</h3>
68
+ <h3 id="example-h3">Examples</h3>
71
69
  <div class="image-samples" onclick="openExamplesModal()">
72
70
  {%- for item in fileData.imageSamples -%}
73
71
  <img src="{{item}}" alt="sample">
@@ -80,23 +78,63 @@ layout: feature
80
78
  {%- for item in fileData.elements -%}
81
79
  {%- if item.type == "image" -%}
82
80
  <label for="{{item.id}}">{{item.label}}</label>
83
- <button type="button" id="{{item.id}}" data-index="{{forloop.index}}"
84
- onclick="clickInput(this)">Choose
85
- image</button>
81
+ <div class="d-flex mb-15">
82
+ <button class="choose-image" type="button" id="{{item.id}}"
83
+ data-index="{{forloop.index}}" onclick="clickInput(this)">Choose
84
+ image</button>
85
+ <button class="cam-image" id="cam-{{forloop.index}}"><i
86
+ class="fas fa-camera"></i></button>
87
+ <img class="small-image-preview" style="display: none;"
88
+ id="image-pre-{{forloop.index}}"></img>
89
+ </div>
86
90
  <input class="d-none" id="file-{{forloop.index}}" type="file" onchange="fileOnChange(this)"
87
91
  data-index="{{forloop.index}}" accept=".webp,.png,.jpg,.jpeg" required />
88
92
  {%- endif -%}
89
93
  {%- if item.type == "text" -%}
90
94
  <label for="{{item.id}}">{{item.label}}</label>
91
- <input type="text" id="{{item.id}}">
95
+ <input class="mb-15" type="text" placeholder="Your Text" id="{{item.id}}">
92
96
  {%- endif -%}
93
97
  {%- endfor -%}
94
- <div>
95
- <button type="submit">Go</button>
98
+ <div class="d-flex">
99
+ <button class="submit-btn" type="submit">Go</button>
96
100
  </div>
97
101
  </form>
98
102
  </div>
99
103
  </div>
104
+ <div class="row">
105
+ <div id="workspace" data-name="together_forever" style="display: none;">
106
+ <div class="row">
107
+ <div class="col-12 mb-4">
108
+ <div class="d-flex justify-content-between">
109
+ <div class="result-info">
110
+ <a href="{{page.permalink}}" target="_blank">{{page.featureName}}</a>
111
+ <i class="fas fa-chevron-right"></i>
112
+ <div>result</div>
113
+ </div>
114
+ <button id="download-button" style="background-color: {{fileData.color}};"><svg
115
+ xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
116
+ <path
117
+ d="M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM382.6 302.6l-103.1 103.1C270.7 414.6 260.9 416 256 416c-4.881 0-14.65-1.391-22.65-9.398L129.4 302.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 306.8V128c0-17.69 14.33-32 32-32s32 14.31 32 32v178.8l49.38-49.38c12.5-12.5 32.75-12.5 45.25 0S395.1 290.1 382.6 302.6z" />
118
+ </svg>Download</button>
119
+ </div>
120
+
121
+ </div>
122
+ <div class="col-md-12 mx-auto">
123
+ <div class="select-img-panel">
124
+ <div id="saving-data" style="display: block;">
125
+ <img loading="lazy" src="/assets/images/loader.gif" alt="saving"> <span
126
+ class="ml-2">Saving
127
+ your
128
+ images...</span>
129
+ </div>
130
+ <div id="canvas-panel">
131
+ </div>
132
+ </div>
133
+ </div>
134
+
135
+ </div>
136
+ </div>
137
+ </div>
100
138
 
101
139
  <div class="crop-image-modal-container">
102
140
  <div class="row w-100">
@@ -160,35 +198,7 @@ layout: feature
160
198
  </div>
161
199
  </div>
162
200
  </div>
163
- <div id="workspace" data-name="together_forever" style="display: none;">
164
- <div class="row">
165
- <div class="col-md-8 mx-auto">
166
- <div class="select-img-panel">
167
- <div id="saving-data" style="display: none;">
168
- <img loading="lazy" src="/img/save.gif" alt="saving"> <span class="ml-2">Saving your
169
- images...</span>
170
- </div>
171
- <div id="canvas-panel">
172
- </div>
173
- </div>
174
- </div>
175
- <div class="col-md-4">
176
- <div class="options-panel">
177
- <div class="title">
178
-
179
- </div>
180
- <div class="download-wrapper">
181
- <button id="download-button" style="background-color: {{fileData.color}};"><svg
182
- xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
183
- <path
184
- d="M256 0C114.6 0 0 114.6 0 256c0 141.4 114.6 256 256 256s256-114.6 256-256C512 114.6 397.4 0 256 0zM382.6 302.6l-103.1 103.1C270.7 414.6 260.9 416 256 416c-4.881 0-14.65-1.391-22.65-9.398L129.4 302.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L224 306.8V128c0-17.69 14.33-32 32-32s32 14.31 32 32v178.8l49.38-49.38c12.5-12.5 32.75-12.5 45.25 0S395.1 290.1 382.6 302.6z" />
185
- </svg>Download</button>
186
- </div>
187
- </div>
188
201
 
189
- </div>
190
- </div>
191
- </div>
192
202
  </div>
193
203
  </div>
194
204
  </div>
@@ -0,0 +1,84 @@
1
+ ---
2
+ layout: feature
3
+ ---
4
+ {%- assign fileData = site.data[page.folderName][page.lang][page.fileName] -%}
5
+ {%- assign photoEffectsData = site.data.photoeffects -%}
6
+ <div class="container mt-4">
7
+ <div class="col-md-11 mx-auto">
8
+ <div class="row">
9
+ <div class="col-md-3">
10
+ <div class="categories-section">
11
+ </div>
12
+ <div class="categories-list">
13
+ <div class="accordion" id="accordionExample">
14
+ {%- for item in site.data.photo-categories -%}
15
+ <div class="card card-hover">
16
+ <div class="card-header" id="heading-{{forloop.index}}">
17
+ <button class="btn btn-block text-left p-0" type="button" data-toggle="collapse"
18
+ data-target="#collapse-{{forloop.index}}" aria-expanded="true"
19
+ aria-controls="collapse-{{forloop.index}}">
20
+ {{item.category}} <i class="fas fa-angle-down"></i>
21
+ </button>
22
+ </div>
23
+
24
+ <div id="collapse-{{forloop.index}}" class="collapse"
25
+ aria-labelledby="heading-{{forloop.index}}" data-parent="#accordionExample">
26
+ <div class="card-body">
27
+ {%- for i in item.features -%}
28
+ <a href="{{i.link}}">{{i.name}} </a>
29
+ {%- endfor -%}
30
+ </div>
31
+ </div>
32
+ </div>
33
+ {%- endfor -%}
34
+ </div>
35
+ </div>
36
+
37
+ </div>
38
+ <div class="col-md-9">
39
+ <div class="row" id="upper-panel">
40
+ <div class="col-12 ">
41
+ <div>
42
+ <div>
43
+ <div>
44
+ {%- assign frameh1 = fileData.H1 | replace: "$variable", page.value -%}
45
+ <h1 class="frame-h1">{%- for word in frameh1-%}
46
+ {%- if forloop.first == true -%}
47
+ {{word | capitalize }}
48
+ {%- else -%}
49
+ {{word}}
50
+ {%- endif -%}
51
+ {%- endfor -%}</h1>
52
+ </div>
53
+ {%- assign frameh2 = fileData.H2 | replace: "$variable", page.value -%}
54
+ <h2 class="frame-h2">
55
+ {%- for word in frameh2 -%}
56
+ {%- if forloop.first == true -%}
57
+ {{word | capitalize }}
58
+ {%- else -%}
59
+ {{word}}
60
+ {%- endif -%}
61
+ {%- endfor -%}
62
+ </h2>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ {%- for item in photoEffectsData -%}
67
+ <div class="col-md-3 px-0">
68
+ <a class="photo-card" href="{{item.url}}">
69
+ <div>
70
+ <img src="{{item.image}}" alt="">
71
+ <div class="photo-effect-feature-name">
72
+ {{item.featureName}}
73
+ </div>
74
+ </div>
75
+ </a>
76
+
77
+ </div>
78
+ {%- endfor -%}
79
+ </div>
80
+ </div>
81
+ </div>
82
+ </div>
83
+
84
+ </div>
data/assets/css/frame.css CHANGED
@@ -1,3 +1,6 @@
1
+ body {
2
+ font-family: 'PT Sans', sans-serif !important;
3
+ }
1
4
  #img-svg {
2
5
  margin: auto;
3
6
  margin-top: 16px;
@@ -325,26 +328,19 @@ input {
325
328
  text-align: left;
326
329
  }
327
330
  #download-button {
328
- cursor: pointer;
329
- display: inline-block;
330
- width: 100%;
331
- padding: 14px 0;
332
- margin-bottom: 20px;
333
- text-align: center;
334
- border-radius: 50px;
335
- background: #0050e5;
336
- font-size: 18px;
337
- color: #fff;
338
- font-weight: 700;
339
331
  text-decoration: none;
340
- transition: all 0.3s;
341
- border: none;
332
+ border-radius: 2px;
333
+ border: 1px solid #ff6131;
334
+ box-shadow: 0;
335
+ color: #fff;
336
+ margin: 3px;
337
+ padding: 4px 15px;
342
338
  }
343
339
  #download-button svg {
344
340
  fill: #fff;
345
341
  margin-right: 4px;
346
342
  margin-bottom: 4px;
347
- height: 20px;
343
+ height: 15px;
348
344
  }
349
345
  .download-wrapper {
350
346
  display: flex;
@@ -356,20 +352,6 @@ input {
356
352
  #canvas-panel canvas {
357
353
  max-width: 100%;
358
354
  }
359
- .options-panel select,
360
- textarea,
361
- input {
362
- width: 100%;
363
- text-align: left;
364
- background: #fff;
365
- height: 34px;
366
- display: flex;
367
- border-radius: 4px;
368
- justify-content: space-between;
369
- box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%);
370
- color: #0f0c0c;
371
- border: 1px solid #ccc;
372
- }
373
355
  .example-images-modal-container,
374
356
  .crop-image-modal-container {
375
357
  position: fixed;
@@ -456,9 +438,258 @@ input {
456
438
  border: none;
457
439
  border-bottom: 1px solid #f2f2f2 !important;
458
440
  display: block;
459
- padding: 7px 9px;
441
+
460
442
  color: #444;
461
443
  text-decoration: none;
462
444
  font-size: 0.95em;
463
445
  border-radius: 1px;
464
446
  }
447
+ .card-header:hover {
448
+ background: #f8f8f8 !important;
449
+ }
450
+ .categories-list .card-body {
451
+ padding: 0px;
452
+ }
453
+ .categories-list .card-body a {
454
+ width: 100%;
455
+ text-align: left;
456
+ display: block;
457
+ border-top: 1px solid #dadada;
458
+ padding: 9px 9px;
459
+ }
460
+ .categories-list .accordion > .card > .card-header {
461
+ display: flex;
462
+ justify-content: space-between;
463
+ background-color: transparent;
464
+ padding: 7px 9px;
465
+ }
466
+ .categories-list .accordion > .card > .card-header i {
467
+ color: #888888;
468
+ margin-bottom: 0;
469
+ font-size: 19px;
470
+ }
471
+ .categories-list .accordion > .card > .card-header {
472
+ height: auto;
473
+ }
474
+ .categories-list .accordion > .card > .card-header > button {
475
+ display: flex;
476
+ justify-content: space-between;
477
+ align-items: center;
478
+ width: 100%;
479
+ }
480
+ .frame-h1 {
481
+ margin: 0;
482
+ font-size: 17pt;
483
+ line-height: 24pt;
484
+ font-weight: 600;
485
+ text-align: left;
486
+ color: #555;
487
+ }
488
+ .frame-h2 {
489
+ font-size: 15px;
490
+ line-height: 16px;
491
+ color: #656464;
492
+ max-width: 345px;
493
+ color: #555;
494
+ padding: 4px 0;
495
+ text-align: left;
496
+ }
497
+ .image-samples {
498
+ display: flex;
499
+ flex-wrap: wrap;
500
+ margin-top: 5px;
501
+ margin-bottom: 18px;
502
+ gap: 5px;
503
+ cursor: pointer;
504
+ }
505
+ .image-samples img {
506
+ cursor: pointer;
507
+ width: 52px;
508
+ height: 52px;
509
+ float: left;
510
+ background-color: #eee;
511
+ }
512
+
513
+ #example-h3 {
514
+ font-size: 0.98em;
515
+ padding: 3px 0 3px;
516
+ text-align: left;
517
+ color: #555;
518
+ margin: 0 0 8px;
519
+ font-weight: 600;
520
+ border-bottom: 1px solid #dadada;
521
+ }
522
+ .preview-section {
523
+ display: flex;
524
+ justify-content: left;
525
+ margin-top: 15px;
526
+ }
527
+ .preview-section img {
528
+ width: auto;
529
+ height: auto;
530
+ }
531
+ #effect-form label {
532
+ display: block;
533
+ font-weight: 600;
534
+ margin: 0 0 5px;
535
+ color: #666;
536
+ text-align: left;
537
+ text-transform: capitalize;
538
+ font-size: 14px;
539
+ }
540
+
541
+ .submit-btn {
542
+ margin: 0;
543
+ width: 180px;
544
+ padding: 10px 0;
545
+ font-size: 13pt;
546
+ position: relative;
547
+ border: 1px solid #ff6131;
548
+ box-shadow: 0;
549
+ color: #fff;
550
+ padding: 4px 15px;
551
+ -webkit-border-radius: 2px;
552
+ -moz-border-radius: 2px;
553
+ border-radius: 2px;
554
+ background: #ff6d41;
555
+ background: -webkit-gradient(
556
+ linear,
557
+ left bottom,
558
+ left top,
559
+ color-stop(0, #ff6537),
560
+ color-stop(1, #ff754b)
561
+ );
562
+ background: -ms-linear-gradient(bottom, #ff6537, #ff754b);
563
+ background: -moz-linear-gradient(center bottom, #ff6537 0, #ff754b 100%);
564
+ background: -o-linear-gradient(#ff754b, #ff6537);
565
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff754b', endColorstr='#ff6537', GradientType=0);
566
+ }
567
+ .cam-image {
568
+ color: #666;
569
+ height: 40px;
570
+ width: 50px;
571
+ display: flex;
572
+ align-items: center;
573
+ justify-content: center;
574
+ border: 1px solid #ccc;
575
+ background: #eee;
576
+ background: -webkit-gradient(
577
+ linear,
578
+ left bottom,
579
+ left top,
580
+ color-stop(0, #ececec),
581
+ color-stop(1, #f6f6f6)
582
+ );
583
+ }
584
+ .cam-image i {
585
+ margin-bottom: 0px;
586
+ color: #666;
587
+ }
588
+ .small-image-preview {
589
+ height: 40px;
590
+ width: 50px !important;
591
+ width: 100%;
592
+ }
593
+ .choose-image {
594
+ color: #666;
595
+ margin-right: 6px;
596
+ border: 1px solid #ccc;
597
+ background: #eee;
598
+ background: -webkit-gradient(
599
+ linear,
600
+ left bottom,
601
+ left top,
602
+ color-stop(0, #ececec),
603
+ color-stop(1, #f6f6f6)
604
+ );
605
+ padding: 0;
606
+ width: 186px;
607
+ height: 40px;
608
+ line-height: 40px;
609
+ font-size: 13pt;
610
+ }
611
+
612
+ #effect-form {
613
+ display: flex;
614
+ flex-direction: column;
615
+ justify-content: left;
616
+ }
617
+
618
+ #effect-form input[type='text'] {
619
+ box-shadow: none;
620
+ border: 1px solid #ccc;
621
+ background: #fff;
622
+ padding: 5px 2%;
623
+ margin: 4px 0;
624
+ min-width: 190px;
625
+ -webkit-border-radius: 2px;
626
+ -moz-border-radius: 2px;
627
+ border-radius: 2px;
628
+ margin: 0;
629
+ width: 216px;
630
+ }
631
+ .mb-15 {
632
+ margin-bottom: 15px !important;
633
+ }
634
+ .btn:focus {
635
+ box-shadow: none !important;
636
+ }
637
+ .result-info {
638
+ display: flex;
639
+ }
640
+ .result-info a {
641
+ color: #ff754b !important;
642
+ cursor: pointer;
643
+ text-decoration: underline;
644
+ float: left;
645
+ font-size: 17pt;
646
+ line-height: 24pt;
647
+ margin: 0 0 5px;
648
+ font-weight: 600;
649
+ color: #444;
650
+ text-transform: capitalize;
651
+ }
652
+ .result-info i {
653
+ margin-left: 6px;
654
+ margin-right: 6px;
655
+ color: black;
656
+ font-size: 17px;
657
+ margin-bottom: 0px;
658
+ margin-top: 11px;
659
+ }
660
+ .result-info div {
661
+ float: left;
662
+ font-size: 17pt;
663
+ font-weight: 600;
664
+ text-transform: capitalize;
665
+ line-height: 24pt;
666
+ margin: 0 0 5px;
667
+ color: #444;
668
+ }
669
+ #saving-data {
670
+ display: flex;
671
+ flex-direction: column;
672
+ align-items: center;
673
+ }
674
+ #saving-data img {
675
+ height: 200px;
676
+ }
677
+ .photo-card {
678
+ display: inline-block;
679
+ zoom: 1;
680
+ margin: 10px 6px 6px;
681
+ padding: 8px 12px 4px;
682
+ border: 1px solid #e5e5e5;
683
+ border-bottom-color: #dcdcdc;
684
+ border-right-color: #e0e0e0;
685
+ text-decoration: none;
686
+ position: relative;
687
+ overflow: hidden;
688
+ -webkit-border-radius: 2px;
689
+ -moz-border-radius: 2px;
690
+ border-radius: 2px;
691
+ }
692
+ .photo-effect-feature-name {
693
+ text-align: center;
694
+ color: #777;
695
+ }
Binary file
data/assets/js/frame.js CHANGED
@@ -91,6 +91,9 @@ const drawInputImage = (ctx, item, indexValue) => {
91
91
  }
92
92
 
93
93
  const drawImage = () => {
94
+ workspace.style.display = 'block'
95
+ document.querySelector('#upper-panel').style.display = 'none'
96
+ document.querySelector('#saving-data').style.display = 'flex'
94
97
  let img = new Image()
95
98
  img.src = featureData.effectImagePath
96
99
  var canvas = document.createElement('canvas')
@@ -117,6 +120,19 @@ const drawImage = () => {
117
120
  myFont.load().then(function (font) {
118
121
  ctx.save()
119
122
  document.fonts.add(font)
123
+ let textValue = document.querySelector(`#${item.id}`).value
124
+ if (textValue.length > 10 && item.fontSizeOption1) {
125
+ item.fontSize = item.fontSizeOption1
126
+ }
127
+ if (textValue.length > 12 && item.fontSizeOption2) {
128
+ item.fontSize = item.fontSizeOption2
129
+ }
130
+ if (textValue.length > 15 && item.fontSizeOption3) {
131
+ item.fontSize = item.fontSizeOption3
132
+ }
133
+ if (textValue.length > 20 && item.fontSizeOption4) {
134
+ item.fontSize = item.fontSizeOption4
135
+ }
120
136
  ctx.font = `${item.fontSize}px ${item.font}`
121
137
  if (item.shadowColor) {
122
138
  ctx.shadowColor = `${item.shadowColor}`
@@ -136,11 +152,7 @@ const drawImage = () => {
136
152
  }
137
153
  ctx.textAlign = 'center'
138
154
  ctx.fillStyle = `${item.color}`
139
- ctx.fillText(
140
- document.querySelector(`#${item.id}`).value,
141
- item.x,
142
- item.y
143
- )
155
+ ctx.fillText(textValue, item.x, item.y)
144
156
  ctx.restore()
145
157
  })
146
158
  }
@@ -148,8 +160,8 @@ const drawImage = () => {
148
160
  }
149
161
  })
150
162
  canvasPanel.innerHTML = ''
163
+ document.querySelector('#saving-data').style.display = 'none'
151
164
  canvasPanel.appendChild(canvas)
152
- workspace.style.display = 'block'
153
165
  })
154
166
  }
155
167
  }
@@ -163,7 +175,6 @@ const cropImage = (result, id) => {
163
175
  cropper = new Cropper(img, {
164
176
  viewMode: 3,
165
177
  ready() {
166
- console.log(id)
167
178
  let find = featureData.elements.find((i) => i.id === id)
168
179
  console.log(find)
169
180
  cropper.setAspectRatio(Number(find.width) / Number(find.height))
@@ -191,6 +202,9 @@ document.querySelector('#crop').addEventListener('click', () => {
191
202
  })
192
203
  .toDataURL()
193
204
  files[index - 1] = cropperImg
205
+ document.querySelector(`#image-pre-${index}`).src = cropperImg
206
+ document.querySelector(`#image-pre-${index}`).style.display = 'block'
207
+ document.querySelector(`#cam-${index}`).style.display = 'none'
194
208
  cropModal.style.display = 'none'
195
209
  })
196
210
  const openExamplesModal = () => {
@@ -224,7 +238,7 @@ download.addEventListener('click', () => {
224
238
  let url = canvas.toDataURL(`image/png`)
225
239
  let a = document.createElement('a')
226
240
  a.href = url
227
- a.download = `safeimagekit-border-image.${inputFile.type.split('/')[1]}`
241
+ a.download = `safeimagekit-photo-effect-image.png`
228
242
  document.body.appendChild(a)
229
243
  a.click()
230
244
  if (lang === 'en') {
@@ -16,6 +16,17 @@
16
16
  "x": 100,
17
17
  "y": 100,
18
18
  "id": "file-1"
19
+ },
20
+ {
21
+ "type": "text",
22
+ "x": "200",
23
+ "y": "200",
24
+ "color": "red",
25
+ "fontFamily": "Calligraphy",
26
+ "fontPath": "/assets/fonts/Calligraphy.ttf",
27
+ "id": "text-1",
28
+ "fontSize": 50,
29
+ "fontSizeOption1": 10
19
30
  }
20
31
  ]
21
32
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appscms-tools-theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.7
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - vivek-appscms
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-25 00:00:00.000000000 Z
11
+ date: 2022-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll
@@ -2374,10 +2374,12 @@ files:
2374
2374
  - _data/header/hi/data.json
2375
2375
  - _data/help/en/help.json
2376
2376
  - _data/home/en/en.json
2377
+ - _data/home/en/photoeffects.json
2377
2378
  - _data/home/hi/hi.json
2378
2379
  - _data/languagesupport/compress-pdf-langs.json
2379
2380
  - _data/languagesupport/index-langs.json
2380
2381
  - _data/photo-categories.json
2382
+ - _data/photoeffects.json
2381
2383
  - _data/privacy/en/privacyPolicy.json
2382
2384
  - _data/rating/rating.json
2383
2385
  - _data/termAndCondition/en/termAndCondition.json
@@ -2440,6 +2442,7 @@ files:
2440
2442
  - _layouts/home.html
2441
2443
  - _layouts/homeResultPage.html
2442
2444
  - _layouts/page.html
2445
+ - _layouts/photo-effects-home.html
2443
2446
  - _layouts/post.html
2444
2447
  - _layouts/privacyPolicy.html
2445
2448
  - _layouts/termAndCondition.html
@@ -2590,6 +2593,7 @@ files:
2590
2593
  - assets/images/gallary.png
2591
2594
  - assets/images/keshav.webp
2592
2595
  - assets/images/krutika.jpeg
2596
+ - assets/images/loader.gif
2593
2597
  - assets/images/logo.png
2594
2598
  - assets/images/paavan.webp
2595
2599
  - assets/images/rating.png