jeawin-astro 3.0.45 → 3.0.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/components/banner_swiper.astro +9 -9
- package/src/components/blocks/block10.astro +3 -3
- package/src/components/children_categories_list.astro +2 -1
- package/src/components/comment_form.astro +9 -9
- package/src/components/detail_images.astro +7 -7
- package/src/components/downloads/download1.astro +4 -4
- package/src/components/downloads/download2.astro +2 -2
- package/src/components/footer/footer1.astro +2 -2
- package/src/components/footer/footer2.astro +2 -2
- package/src/components/form.astro +2 -2
- package/src/components/formitem/country.astro +2 -2
- package/src/components/friendlinks.astro +2 -2
- package/src/components/hero/hero3.astro +3 -3
- package/src/components/hero/hero5.astro +3 -3
- package/src/components/index_children_categories_list.astro +2 -2
- package/src/components/logo.astro +5 -3
- package/src/components/newsletter.astro +3 -3
- package/src/components/newsletters/newsletter1.astro +3 -3
- package/src/components/newsletters/newsletter2.astro +3 -3
- package/src/components/newsletters/newsletter3.astro +3 -3
- package/src/components/newsletters/newsletter4.astro +3 -3
- package/src/components/newsletters/newsletter5.astro +3 -3
- package/src/components/newsletters/newsletter6.astro +3 -3
- package/src/components/pagination.astro +5 -5
- package/src/components/prevnext.astro +4 -4
- package/src/components/prevnext_simple.astro +3 -3
- package/src/components/pricings/pricing1.astro +2 -2
- package/src/components/pricings/pricing10.astro +2 -2
- package/src/components/pricings/pricing3.astro +2 -2
- package/src/components/pricings/pricing7.astro +2 -2
- package/src/components/pricings/pricing8.astro +2 -2
- package/src/components/product_card.astro +2 -2
- package/src/components/search_input.astro +6 -6
- package/src/components/search_result.astro +6 -6
- package/src/components/share_button.astro +12 -12
- package/src/components/smartmenus.astro +3 -3
- package/src/components/smartmenus_megamenu.astro +1 -1
- package/src/components/smartmenus_submenu.astro +6 -6
- package/src/components/swiper.astro +1 -1
- package/src/layouts/Footer.astro +3 -3
- package/src/scripts/consts.js +7 -3
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @filesource
|
|
12
12
|
*/
|
|
13
13
|
import _ from "lodash";
|
|
14
|
-
import { img_change_attrs, render_value, render_url } from "../scripts/util.js";
|
|
14
|
+
import { img_change_attrs, render_value, render_url, render_lang } from "../scripts/util.js";
|
|
15
15
|
import JeawinApi from "../scripts/cms.js";
|
|
16
16
|
import Button from "./button.astro";
|
|
17
17
|
interface Props {
|
|
@@ -69,7 +69,7 @@ const banners = await jeawinapi.get_nodes({ channel_id: 5 });
|
|
|
69
69
|
>
|
|
70
70
|
{banners.nodes &&
|
|
71
71
|
banners.nodes.map((banner: any, idx: number) => (
|
|
72
|
-
<swiper-slide class:list={["swiper-slide", SlideClass, { hidden: idx > 0 }]}>
|
|
72
|
+
<swiper-slide lazy={idx > 0 ? "true" : "false"} class:list={["swiper-slide", SlideClass, { hidden: idx > 0 }]}>
|
|
73
73
|
{show_title && render_value(banner, 'show_text_block', '1') == '1' ? (
|
|
74
74
|
<div class="relative h-full w-full">
|
|
75
75
|
<div class="absolute inset-0 flex items-center justify-center text-white text-center p-4">
|
|
@@ -83,7 +83,7 @@ const banners = await jeawinapi.get_nodes({ channel_id: 5 });
|
|
|
83
83
|
}
|
|
84
84
|
<div class="text-xs line-clamp-2 md:line-clamp-none md:text-lg md:mt-4">{render_value(banner, 'sub_title')}</div>
|
|
85
85
|
<Button tag_name="a" class="inline-block md:mt-2" href={render_url(render_value(banner, "linkurl"), base, null, url_suffix)}
|
|
86
|
-
title={render_value(banner, 'btntext') ||
|
|
86
|
+
title={render_value(banner, 'btntext') || render_lang(all_langs, 'read more')}>{render_value(banner, 'btntext') || render_lang(all_langs, 'read more')}</Button>
|
|
87
87
|
</div>
|
|
88
88
|
|
|
89
89
|
</div>
|
|
@@ -96,7 +96,7 @@ const banners = await jeawinapi.get_nodes({ channel_id: 5 });
|
|
|
96
96
|
width: "100%",
|
|
97
97
|
fetchpriority: "high",
|
|
98
98
|
},
|
|
99
|
-
["class"
|
|
99
|
+
["class"]
|
|
100
100
|
)}
|
|
101
101
|
/>
|
|
102
102
|
) : (
|
|
@@ -106,10 +106,10 @@ const banners = await jeawinapi.get_nodes({ channel_id: 5 });
|
|
|
106
106
|
{
|
|
107
107
|
width: "100%",
|
|
108
108
|
class: "",
|
|
109
|
-
loading: "",
|
|
109
|
+
loading: "lazy",
|
|
110
110
|
fetchpriority: "high",
|
|
111
111
|
},
|
|
112
|
-
["class"
|
|
112
|
+
["class"]
|
|
113
113
|
)}
|
|
114
114
|
/>
|
|
115
115
|
)}
|
|
@@ -124,7 +124,7 @@ const banners = await jeawinapi.get_nodes({ channel_id: 5 });
|
|
|
124
124
|
width: "100%",
|
|
125
125
|
fetchpriority: "high",
|
|
126
126
|
},
|
|
127
|
-
["class"
|
|
127
|
+
["class"]
|
|
128
128
|
)}
|
|
129
129
|
/>
|
|
130
130
|
) : (
|
|
@@ -134,10 +134,10 @@ const banners = await jeawinapi.get_nodes({ channel_id: 5 });
|
|
|
134
134
|
{
|
|
135
135
|
width: "100%",
|
|
136
136
|
class: "",
|
|
137
|
-
loading: "",
|
|
137
|
+
loading: "lazy",
|
|
138
138
|
fetchpriority: "high",
|
|
139
139
|
},
|
|
140
|
-
["class"
|
|
140
|
+
["class"]
|
|
141
141
|
)}
|
|
142
142
|
/>
|
|
143
143
|
)}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import SectionContainer from "../section_container.astro";
|
|
13
13
|
import Heading1 from "../heading/heading1.astro";
|
|
14
|
-
import { render_value } from "../../scripts/util.js";
|
|
14
|
+
import { render_lang, render_value } from "../../scripts/util.js";
|
|
15
15
|
|
|
16
16
|
interface Props {
|
|
17
17
|
bgcolor?: any;
|
|
@@ -30,8 +30,8 @@ const {
|
|
|
30
30
|
} = Astro.props;
|
|
31
31
|
|
|
32
32
|
const { all_langs } = Astro.locals;
|
|
33
|
-
const DetailLang =
|
|
34
|
-
const ContactLang =
|
|
33
|
+
const DetailLang = render_lang(all_langs, "Detail");
|
|
34
|
+
const ContactLang = render_lang(all_langs, "Contact");
|
|
35
35
|
|
|
36
36
|
function splitHtml(content: any) {
|
|
37
37
|
const content_array = content.split("\n");
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
get_children_categories,
|
|
17
17
|
render_url,
|
|
18
18
|
render_value,
|
|
19
|
+
render_lang,
|
|
19
20
|
is_default_image,
|
|
20
21
|
} from "../scripts/util.js";
|
|
21
22
|
interface Props {
|
|
@@ -30,7 +31,7 @@ const categories = get_children_categories(
|
|
|
30
31
|
channel_id,
|
|
31
32
|
category_id
|
|
32
33
|
);
|
|
33
|
-
const ProductCountLang =
|
|
34
|
+
const ProductCountLang = render_lang(all_langs, "product");
|
|
34
35
|
---
|
|
35
36
|
|
|
36
37
|
<div class="grid grid-cols-2 xl:grid-cols-6 gap-4">
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @email chaegumi@jeawin.com
|
|
11
11
|
* @filesource
|
|
12
12
|
*/
|
|
13
|
-
import { render_value } from "../scripts/util.js";
|
|
13
|
+
import { render_value, render_lang } from "../scripts/util.js";
|
|
14
14
|
interface Props {
|
|
15
15
|
canonical: string;
|
|
16
16
|
channel_id: string;
|
|
@@ -47,7 +47,7 @@ const { siteinfo, all_langs, jeawin_form_api_domain } = Astro.locals;
|
|
|
47
47
|
<input type="hidden" name="fromurl" value={canonical} />
|
|
48
48
|
|
|
49
49
|
<div style="margin-top:10px;">
|
|
50
|
-
{
|
|
50
|
+
{render_lang(all_langs, "Nickname")}<span style="color:red;">*</span>:
|
|
51
51
|
</div>
|
|
52
52
|
<div>
|
|
53
53
|
<input
|
|
@@ -55,7 +55,7 @@ const { siteinfo, all_langs, jeawin_form_api_domain } = Astro.locals;
|
|
|
55
55
|
name="nickname"
|
|
56
56
|
id="comment_nickname"
|
|
57
57
|
autocomplete="off"
|
|
58
|
-
placeholder={
|
|
58
|
+
placeholder={render_lang(all_langs, "Enter your nickname")}
|
|
59
59
|
required="required"
|
|
60
60
|
class="form-control"
|
|
61
61
|
style="width:100%;"
|
|
@@ -63,7 +63,7 @@ const { siteinfo, all_langs, jeawin_form_api_domain } = Astro.locals;
|
|
|
63
63
|
</div>
|
|
64
64
|
|
|
65
65
|
<div style="margin-top:10px;">
|
|
66
|
-
{
|
|
66
|
+
{render_lang(all_langs, "E-mail")}<span style="color:red;">*</span>:
|
|
67
67
|
</div>
|
|
68
68
|
<div>
|
|
69
69
|
<input
|
|
@@ -71,7 +71,7 @@ const { siteinfo, all_langs, jeawin_form_api_domain } = Astro.locals;
|
|
|
71
71
|
name="email"
|
|
72
72
|
id="comment_email"
|
|
73
73
|
autocomplete="off"
|
|
74
|
-
placeholder={
|
|
74
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
75
75
|
required="required"
|
|
76
76
|
class="form-control"
|
|
77
77
|
style="width:100%;"
|
|
@@ -79,7 +79,7 @@ const { siteinfo, all_langs, jeawin_form_api_domain } = Astro.locals;
|
|
|
79
79
|
</div>
|
|
80
80
|
|
|
81
81
|
<div style="margin-top:10px;">
|
|
82
|
-
{
|
|
82
|
+
{render_lang(all_langs, "Rate")}<span style="color:red;">*</span>:
|
|
83
83
|
</div>
|
|
84
84
|
<div>
|
|
85
85
|
<label><input type="radio" name="score" value="1" /> 1</label>
|
|
@@ -92,13 +92,13 @@ const { siteinfo, all_langs, jeawin_form_api_domain } = Astro.locals;
|
|
|
92
92
|
</div>
|
|
93
93
|
|
|
94
94
|
<div style="margin-top:10px;">
|
|
95
|
-
{
|
|
95
|
+
{render_lang(all_langs, "Comments")}<span style="color:red;">*</span>:
|
|
96
96
|
</div>
|
|
97
97
|
<div>
|
|
98
98
|
<textarea
|
|
99
99
|
name="comment"
|
|
100
100
|
id="comment_content"
|
|
101
|
-
placeholder={
|
|
101
|
+
placeholder={render_lang(all_langs, "Enter your comment")}
|
|
102
102
|
required="required"
|
|
103
103
|
style="width:100%;"
|
|
104
104
|
class="form-control"
|
|
@@ -108,7 +108,7 @@ const { siteinfo, all_langs, jeawin_form_api_domain } = Astro.locals;
|
|
|
108
108
|
<button
|
|
109
109
|
type="submit"
|
|
110
110
|
class="btn btn-primary ampstart-btn"
|
|
111
|
-
id="commentFormSubmitBtn">{
|
|
111
|
+
id="commentFormSubmitBtn">{render_lang(all_langs, "Send")}</button
|
|
112
112
|
>
|
|
113
113
|
</div>
|
|
114
114
|
</form>
|
|
@@ -68,7 +68,7 @@ const { node_title, nodepics = [], video, view360, thumbs_position = 'left' } =
|
|
|
68
68
|
>
|
|
69
69
|
{
|
|
70
70
|
nodepics.map((pic: any, idx: number) => (
|
|
71
|
-
<swiper-slide
|
|
71
|
+
<swiper-slide lazy={idx > 0 ? "true" : "false"}
|
|
72
72
|
class:list={[
|
|
73
73
|
"swiper-slide",
|
|
74
74
|
{ hidden: idx > 0 },
|
|
@@ -76,7 +76,7 @@ const { node_title, nodepics = [], video, view360, thumbs_position = 'left' } =
|
|
|
76
76
|
]}
|
|
77
77
|
>
|
|
78
78
|
<div class="content-wrapper border border-white p-1 cursor-pointer overflow-hidden h-[60px] w-[60px]">
|
|
79
|
-
<Fragment set:html={img_change_attrs(pic, {width:'50', height:'50'}, {})} />
|
|
79
|
+
<Fragment set:html={img_change_attrs(pic, {width:'50', height:'50', 'loading':'lazy'}, {})} />
|
|
80
80
|
</div>
|
|
81
81
|
</swiper-slide>
|
|
82
82
|
))
|
|
@@ -84,7 +84,7 @@ const { node_title, nodepics = [], video, view360, thumbs_position = 'left' } =
|
|
|
84
84
|
|
|
85
85
|
{
|
|
86
86
|
video ? (
|
|
87
|
-
<swiper-slide class="swiper-slide lg:flex-1 lg:h-[60px] lg:w-[60px] hidden">
|
|
87
|
+
<swiper-slide lazy="true" class="swiper-slide lg:flex-1 lg:h-[60px] lg:w-[60px] hidden">
|
|
88
88
|
<div class="content-wrapper border border-white min-h-[100px] lg:min-h-[60px] p-1 cursor-pointer flex items-center justify-center">
|
|
89
89
|
<Icon name="fa6-solid:file-video" class="size-10" />
|
|
90
90
|
</div>
|
|
@@ -94,7 +94,7 @@ const { node_title, nodepics = [], video, view360, thumbs_position = 'left' } =
|
|
|
94
94
|
|
|
95
95
|
{
|
|
96
96
|
view360 ? (
|
|
97
|
-
<swiper-slide class="swiper-slide lg:flex-1 lg:h-[60px] lg:w-[60px] hidden">
|
|
97
|
+
<swiper-slide lazy="true" class="swiper-slide lg:flex-1 lg:h-[60px] lg:w-[60px] hidden">
|
|
98
98
|
<div class="content-wrapper border border-white p-1 cursor-pointer">
|
|
99
99
|
<img src={view360img.src} alt="360° viewer" />
|
|
100
100
|
</div>
|
|
@@ -117,7 +117,7 @@ const { node_title, nodepics = [], video, view360, thumbs_position = 'left' } =
|
|
|
117
117
|
>
|
|
118
118
|
{
|
|
119
119
|
nodepics.map((pic: any, idx: number) => (
|
|
120
|
-
<swiper-slide class:list={["swiper-slide", "magnifier", { hidden: idx > 0 }]}>
|
|
120
|
+
<swiper-slide lazy={idx > 0 ? "true" : "false"} class:list={["swiper-slide", "magnifier", { hidden: idx > 0 }]}>
|
|
121
121
|
<Fragment set:html={pic} />
|
|
122
122
|
</swiper-slide>
|
|
123
123
|
))
|
|
@@ -125,7 +125,7 @@ const { node_title, nodepics = [], video, view360, thumbs_position = 'left' } =
|
|
|
125
125
|
|
|
126
126
|
{
|
|
127
127
|
video ? (
|
|
128
|
-
<swiper-slide class="swiper-slide hidden">
|
|
128
|
+
<swiper-slide lazy="true" class="swiper-slide hidden">
|
|
129
129
|
<div class="flex min-h-[343px] xl:min-h-[605px] w-full">
|
|
130
130
|
<img src={video.poster} alt={video.title ? video.title : node_title} />
|
|
131
131
|
<button
|
|
@@ -148,7 +148,7 @@ const { node_title, nodepics = [], video, view360, thumbs_position = 'left' } =
|
|
|
148
148
|
|
|
149
149
|
{
|
|
150
150
|
view360 ? (
|
|
151
|
-
<swiper-slide class="swiper-slide hidden">
|
|
151
|
+
<swiper-slide lazy="true" class="swiper-slide hidden">
|
|
152
152
|
<div class="cloudimage-360 swiper-no-swiping" data-image-list-x={`${JSON.stringify(view360)}`} data-magnifier="2" data-fullscreen>
|
|
153
153
|
</div>
|
|
154
154
|
</swiper-slide>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_value, render_date } from "../../scripts/util.js";
|
|
2
|
+
import { render_value, render_date, render_lang } from "../../scripts/util.js";
|
|
3
3
|
interface Props {
|
|
4
4
|
nodes: any[];
|
|
5
5
|
}
|
|
6
6
|
const { nodes } = Astro.props;
|
|
7
7
|
const { all_langs, siteinfo } = Astro.locals;
|
|
8
8
|
|
|
9
|
-
const titletext =
|
|
10
|
-
const timetext =
|
|
11
|
-
const downbtntext =
|
|
9
|
+
const titletext = render_lang(all_langs, "Title");
|
|
10
|
+
const timetext = render_lang(all_langs, "Time");
|
|
11
|
+
const downbtntext = render_lang(all_langs, "Download");
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<table class="border-collapse table-auto w-full">
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Icon } from "astro-icon/components";
|
|
3
|
-
import { render_value, render_url, render_date } from "../../scripts/util.js";
|
|
3
|
+
import { render_value, render_url, render_date, render_lang } from "../../scripts/util.js";
|
|
4
4
|
interface Props {
|
|
5
5
|
nodes: any[];
|
|
6
6
|
}
|
|
7
7
|
const { nodes } = Astro.props;
|
|
8
8
|
const { all_langs, siteinfo, base, url_suffix } = Astro.locals;
|
|
9
9
|
|
|
10
|
-
const downbtntext =
|
|
10
|
+
const downbtntext = render_lang(all_langs, "Download");
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
<div class="flex flex-col gap-5">
|
|
@@ -12,7 +12,7 @@ import Block from "../block.astro";
|
|
|
12
12
|
import SiteOptions from "../site_options.astro";
|
|
13
13
|
import SocialMedia from "../social_media.astro";
|
|
14
14
|
|
|
15
|
-
import { render_url, render_value } from "../../scripts/util.js";
|
|
15
|
+
import { render_lang, render_url, render_value } from "../../scripts/util.js";
|
|
16
16
|
const {max_width_screen = 'max-w-screen-2xl'} = Astro.props;
|
|
17
17
|
const { categoryuriarr, nodeuriarr, menuuriarr, all_langs,base, url_suffix } = Astro.locals;
|
|
18
18
|
---
|
|
@@ -111,6 +111,6 @@ const { categoryuriarr, nodeuriarr, menuuriarr, all_langs,base, url_suffix } = A
|
|
|
111
111
|
<SocialMedia />
|
|
112
112
|
</div>
|
|
113
113
|
</div>
|
|
114
|
-
<div><Fragment set:html={
|
|
114
|
+
<div><Fragment set:html={render_lang(all_langs, "Powered by")} /></div>
|
|
115
115
|
</div>
|
|
116
116
|
</footer>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @email chaegumi@jeawin.com
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
|
-
import { render_value } from "../../scripts/util.js";
|
|
11
|
+
import { render_lang, render_value } from "../../scripts/util.js";
|
|
12
12
|
import SiteOptions from "../site_options.astro";
|
|
13
13
|
import SocialMedia from "../social_media.astro";
|
|
14
14
|
import Friendlinks from "../friendlinks.astro";
|
|
@@ -50,7 +50,7 @@ const { canonical, is_home, channel_id, category_id, url, uri, max_width_screen
|
|
|
50
50
|
class="flex flex-col md:flex-row justify-between py-4 border-t border-[#4a3953]"
|
|
51
51
|
>
|
|
52
52
|
<div class="flex flex-wrap"><SocialMedia /></div>
|
|
53
|
-
<div><Fragment set:html={
|
|
53
|
+
<div><Fragment set:html={render_lang(all_langs, "Powered by")} /></div>
|
|
54
54
|
</div>
|
|
55
55
|
<SiteOptions option_name="statcode">
|
|
56
56
|
{(option_value: any) => <Fragment set:html={option_value} />}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
11
|
import JeawinApi from "../scripts/cms.js";
|
|
12
|
-
import { render_value } from "../scripts/util.js";
|
|
12
|
+
import { render_value, render_lang } from "../scripts/util.js";
|
|
13
13
|
import Input from "./formitem/input.astro";
|
|
14
14
|
import Textarea from "./formitem/textarea.astro";
|
|
15
15
|
import Radio from "./formitem/radio.astro";
|
|
@@ -34,7 +34,7 @@ const jeawinapi = new JeawinApi({
|
|
|
34
34
|
});
|
|
35
35
|
const forminfo = await jeawinapi.get_form({ form_id });
|
|
36
36
|
// console.log(forminfo);
|
|
37
|
-
const submitbuttontext =
|
|
37
|
+
const submitbuttontext = render_lang(all_langs, "send message");
|
|
38
38
|
---
|
|
39
39
|
|
|
40
40
|
{
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
11
|
import JeawinApi from "../../scripts/cms.js";
|
|
12
|
-
import { render_value } from "../../scripts/util.js";
|
|
12
|
+
import { render_lang, render_value } from "../../scripts/util.js";
|
|
13
13
|
const { field } = Astro.props;
|
|
14
14
|
const { all_langs, jeawin_apikey, jeawin_api_domain, jeawin_api_path } =
|
|
15
15
|
Astro.locals;
|
|
@@ -26,7 +26,7 @@ const countrylist = await jeawinapi.get_country();
|
|
|
26
26
|
{field.field_label}
|
|
27
27
|
</span>
|
|
28
28
|
<select class="mt-1 block w-full" autocomplete="off">
|
|
29
|
-
<option value="">{
|
|
29
|
+
<option value="">{render_lang(all_langs, "Chooce One")}</option>
|
|
30
30
|
{
|
|
31
31
|
countrylist.map((country: any) => (
|
|
32
32
|
<option value={country.en}>{country.en}</option>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import _ from "lodash";
|
|
12
12
|
import JeawinApi from "../scripts/cms.js";
|
|
13
|
-
import { render_url, render_value } from "../scripts/util.js";
|
|
13
|
+
import { render_url, render_value,render_lang } from "../scripts/util.js";
|
|
14
14
|
|
|
15
15
|
const { canonical, is_home, channel_id, category_id, url, uri } = Astro.props;
|
|
16
16
|
const {
|
|
@@ -27,7 +27,7 @@ const jeawinapi = new JeawinApi({
|
|
|
27
27
|
api_path: jeawin_api_path,
|
|
28
28
|
});
|
|
29
29
|
|
|
30
|
-
const friendlinksLang =
|
|
30
|
+
const friendlinksLang = render_lang(all_langs, "friendlinks");
|
|
31
31
|
|
|
32
32
|
const obj = await jeawinapi.get_friendlinks({});
|
|
33
33
|
const friendlinks = _.get(obj, [0], []);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Icon } from "astro-icon/components";
|
|
3
|
-
import { render_value } from "../../scripts/util.js";
|
|
3
|
+
import { render_lang, render_value } from "../../scripts/util.js";
|
|
4
4
|
import SectionContainer from "../section_container.astro";
|
|
5
5
|
import Star from "../star.astro";
|
|
6
6
|
interface Props {
|
|
@@ -56,7 +56,7 @@ const BlockTitleTag = block_title_tag;
|
|
|
56
56
|
<input
|
|
57
57
|
type="email"
|
|
58
58
|
name="email"
|
|
59
|
-
placeholder={
|
|
59
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
60
60
|
required="required"
|
|
61
61
|
class="w-full px-3 py-2.5 text-gray-400 bg-gray-700 focus:bg-gray-900 duration-150 outline-hidden rounded-lg shadow-sm sm:max-w-sm sm:w-auto"
|
|
62
62
|
/>
|
|
@@ -65,7 +65,7 @@ const BlockTitleTag = block_title_tag;
|
|
|
65
65
|
id="submitbtnsubscribe"
|
|
66
66
|
class="cursor-pointer flex items-center justify-center gap-x-2 py-2.5 px-4 mt-3 w-full text-sm text-white font-medium bg-sky-500 hover:bg-sky-400 active:bg-sky-600 duration-150 rounded-lg sm:mt-0 sm:w-auto"
|
|
67
67
|
>
|
|
68
|
-
{
|
|
68
|
+
{render_lang(all_langs, "Subscribe")}
|
|
69
69
|
<Icon name="fa6-solid:arrow-right" />
|
|
70
70
|
</button>
|
|
71
71
|
</form>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_lang, render_value } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
import JeawinImage from "../image.astro";
|
|
5
5
|
import DefaultImage from "../default_image.astro";
|
|
@@ -65,7 +65,7 @@ const BlockTitleTag = block_title_tag;
|
|
|
65
65
|
<input
|
|
66
66
|
type="email"
|
|
67
67
|
name="email"
|
|
68
|
-
placeholder={
|
|
68
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
69
69
|
required="required"
|
|
70
70
|
class="text-gray-500 border border-gray-200 outline-hidden p-3 rounded-md w-full sm:w-72"
|
|
71
71
|
/>
|
|
@@ -74,7 +74,7 @@ const BlockTitleTag = block_title_tag;
|
|
|
74
74
|
id="submitbtnsubscribe"
|
|
75
75
|
class="cursor-pointer outline-hidden bg-gray-700 text-white text-center px-4 py-3 rounded-md shadow-sm w-full ring-offset-2 ring-gray-700 focus:ring-2 sm:w-auto"
|
|
76
76
|
>
|
|
77
|
-
{
|
|
77
|
+
{render_lang(all_langs, "Subscribe")}
|
|
78
78
|
</button>
|
|
79
79
|
</form>
|
|
80
80
|
</div>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import {
|
|
12
12
|
get_children_categories,
|
|
13
13
|
render_url,
|
|
14
|
-
render_value,
|
|
14
|
+
render_value, render_lang
|
|
15
15
|
} from "../scripts/util.js";
|
|
16
16
|
interface Props {
|
|
17
17
|
all_categories: any[];
|
|
@@ -25,7 +25,7 @@ const categories = get_children_categories(
|
|
|
25
25
|
channel_id,
|
|
26
26
|
category_id
|
|
27
27
|
);
|
|
28
|
-
// const ProductCountLang =
|
|
28
|
+
// const ProductCountLang = render_lang(all_langs, "product");
|
|
29
29
|
---
|
|
30
30
|
|
|
31
31
|
<ul>
|
|
@@ -11,12 +11,14 @@
|
|
|
11
11
|
import SiteOptions from "./site_options.astro";
|
|
12
12
|
import RemoteImage from "./remote_image.astro";
|
|
13
13
|
import DefaultImage from "./default_image.astro";
|
|
14
|
+
import {render_url} from "../scripts/util.js";
|
|
15
|
+
const {logo_class} = Astro.props;
|
|
14
16
|
---
|
|
15
17
|
|
|
16
18
|
<SiteOptions option_name="logo_title">
|
|
17
19
|
{
|
|
18
20
|
(logo_title: any) => (
|
|
19
|
-
<a href="/" title={logo_title} class="inline-block">
|
|
21
|
+
<a href={render_url("/")} title={logo_title} class="inline-block">
|
|
20
22
|
<SiteOptions option_name="sitelogo">
|
|
21
23
|
{(sitelogo: any) => (
|
|
22
24
|
<Fragment>
|
|
@@ -24,11 +26,11 @@ import DefaultImage from "./default_image.astro";
|
|
|
24
26
|
<RemoteImage
|
|
25
27
|
remote_url={sitelogo}
|
|
26
28
|
alt={logo_title}
|
|
27
|
-
class_str=
|
|
29
|
+
class_str={`mx-auto md:m-0 ${logo_class}`}
|
|
28
30
|
is_lcp="1"
|
|
29
31
|
/>
|
|
30
32
|
) : (
|
|
31
|
-
<DefaultImage class=
|
|
33
|
+
<DefaultImage class={`mx-auto md:m-0 ${logo_class}`} />
|
|
32
34
|
)}
|
|
33
35
|
</Fragment>
|
|
34
36
|
)}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @email chaegumi@jeawin.com
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
|
-
import { render_value } from "../scripts/util.js";
|
|
11
|
+
import { render_value, render_lang } from "../scripts/util.js";
|
|
12
12
|
import Input from "./formitem/input.astro";
|
|
13
13
|
const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
14
14
|
|
|
@@ -31,7 +31,7 @@ const {other_btn_class} = Astro.props;
|
|
|
31
31
|
field={{
|
|
32
32
|
field_name: "email",
|
|
33
33
|
field_label: "",
|
|
34
|
-
placeholder:
|
|
34
|
+
placeholder: render_lang(all_langs, "Enter your email"),
|
|
35
35
|
}}
|
|
36
36
|
type="email"
|
|
37
37
|
/>
|
|
@@ -41,7 +41,7 @@ const {other_btn_class} = Astro.props;
|
|
|
41
41
|
type="submit"
|
|
42
42
|
id="submitbtnsubscribe"
|
|
43
43
|
class:list={["break-keep cursor-pointer", ...btn_class, other_btn_class ? other_btn_class : null]}
|
|
44
|
-
>{
|
|
44
|
+
>{render_lang(all_langs, "Subscribe")}</button
|
|
45
45
|
>
|
|
46
46
|
</div>
|
|
47
47
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_value,render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -51,7 +51,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
51
51
|
type="email"
|
|
52
52
|
name="email"
|
|
53
53
|
required="required"
|
|
54
|
-
placeholder={
|
|
54
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
55
55
|
class="text-gray-500 w-full p-2 outline-hidden"
|
|
56
56
|
/>
|
|
57
57
|
<button
|
|
@@ -59,7 +59,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
59
59
|
id="submitbtnsubscribe"
|
|
60
60
|
class="cursor-pointer break-keep p-2 px-3 rounded-lg font-medium text-white bg-blue-600 hover:bg-blue-500 active:bg-blue-700 duration-150 outline-hidden shadow-md focus:shadow-none sm:px-4"
|
|
61
61
|
>
|
|
62
|
-
{
|
|
62
|
+
{render_lang(all_langs, "Subscribe")}
|
|
63
63
|
</button>
|
|
64
64
|
</form>
|
|
65
65
|
<div class="mt-3 max-w-lg text-[15px] text-blue-100 sm:mx-auto">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_value,render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -53,7 +53,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
53
53
|
type="email"
|
|
54
54
|
name="email"
|
|
55
55
|
required="required"
|
|
56
|
-
placeholder={
|
|
56
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
57
57
|
class="text-gray-500 w-full p-3 rounded-md border border-gray-200 outline-hidden focus:border-[var(--themeColor600)]"
|
|
58
58
|
/>
|
|
59
59
|
<button
|
|
@@ -61,7 +61,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
61
61
|
id="submitbtnsubscribe"
|
|
62
62
|
class="cursor-pointer break-keep w-full mt-3 px-5 py-3 rounded-md text-white bg-[var(--themeColor600)] hover:bg-[var(--themeColor500)] active:bg-[var(--themeColor700)] duration-150 outline-hidden shadow-md focus:shadow-none focus:ring-2 ring-offset-2 ring-indigo-600 sm:mt-0 sm:ml-3 sm:w-auto"
|
|
63
63
|
>
|
|
64
|
-
{
|
|
64
|
+
{render_lang(all_langs, "Subscribe")}
|
|
65
65
|
</button>
|
|
66
66
|
</form>
|
|
67
67
|
<div class="mt-3 text-[15px] text-gray-400">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_value,render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -67,7 +67,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
67
67
|
type="email"
|
|
68
68
|
name="email"
|
|
69
69
|
required
|
|
70
|
-
placeholder={
|
|
70
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
71
71
|
class="w-full pl-12 pr-3 py-2 text-gray-500 bg-transparent outline-hidden border border-gray-200 focus:border-[var(--themeColor600)] shadow-xs rounded-lg sm:max-w-xs"
|
|
72
72
|
/>
|
|
73
73
|
</div>
|
|
@@ -76,7 +76,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
76
76
|
id="submitbtnsubscribe"
|
|
77
77
|
class="cursor-pointer break-keep block w-full py-3 px-4 font-medium text-sm text-center text-white bg-[var(--themeColor600)] hover:bg-[var(--themeColor500)] active:bg-[var(--themeColor700)] active:shadow-none rounded-lg shadow-sm sm:w-auto md:w-full"
|
|
78
78
|
>
|
|
79
|
-
{
|
|
79
|
+
{render_lang(all_langs, "Subscribe")}
|
|
80
80
|
</button>
|
|
81
81
|
</form>
|
|
82
82
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_value,render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -65,7 +65,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
65
65
|
type="email"
|
|
66
66
|
name="email"
|
|
67
67
|
required
|
|
68
|
-
placeholder={
|
|
68
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
69
69
|
class="w-full pl-12 pr-3 py-2 text-gray-500 bg-white outline-hidden border border-gray-200 focus:border-[var(--themeColor600)] shadow-xs rounded-lg"
|
|
70
70
|
/>
|
|
71
71
|
</div>
|
|
@@ -74,7 +74,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
74
74
|
id="submitbtnsubscribe"
|
|
75
75
|
class="cursor-pointer break-keep block w-auto py-3 px-4 font-medium text-sm text-center text-white bg-[var(--themeColor600)] hover:bg-[var(--themeColor500)] active:bg-[var(--themeColor700)] active:shadow-none rounded-lg shadow"
|
|
76
76
|
>
|
|
77
|
-
{
|
|
77
|
+
{render_lang(all_langs, "Subscribe")}
|
|
78
78
|
</button>
|
|
79
79
|
</form>
|
|
80
80
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_value,render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -60,7 +60,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
60
60
|
type="email"
|
|
61
61
|
name="email"
|
|
62
62
|
required
|
|
63
|
-
placeholder={
|
|
63
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
64
64
|
class="w-full pl-12 pr-3 py-2 text-gray-500 bg-white outline-hidden border border-gray-200 focus:border-[var(--themeColor600)] shadow-xs rounded-lg"
|
|
65
65
|
/>
|
|
66
66
|
</div>
|
|
@@ -69,7 +69,7 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
69
69
|
id="submitbtnsubscribe"
|
|
70
70
|
class="cursor-pointer break-keep block w-auto py-3 px-4 font-medium text-sm text-center text-white bg-[var(--themeColor600)] hover:bg-[var(--themeColor500)] active:bg-[var(--themeColor700)] active:shadow-none rounded-lg shadow"
|
|
71
71
|
>
|
|
72
|
-
{
|
|
72
|
+
{render_lang(all_langs, "Subscribe")}
|
|
73
73
|
</button>
|
|
74
74
|
</form>
|
|
75
75
|
</div>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_value, render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -67,13 +67,13 @@ const { btn_class, siteinfo, jeawin_form_api_domain, all_langs } = Astro.locals;
|
|
|
67
67
|
type="email"
|
|
68
68
|
name="email"
|
|
69
69
|
required
|
|
70
|
-
placeholder={
|
|
70
|
+
placeholder={render_lang(all_langs, "Enter your email")}
|
|
71
71
|
class="text-gray-500 w-full p-3 rounded-md border border-gray-200 outline-hidden focus:border-[var(--themeColor600)]"
|
|
72
72
|
/>
|
|
73
73
|
<button
|
|
74
74
|
class="cursor-pointer break-keep w-full mt-3 px-5 py-3 rounded-md text-white bg-[var(--themeColor600)] hover:bg-[var(--themeColor500)] active:bg-[var(--themeColor700)] duration-150 outline-hidden shadow-md focus:shadow-none focus:ring-2 ring-offset-2 ring-[var(--themeColor600)] sm:mt-0 sm:ml-3 sm:w-auto"
|
|
75
75
|
>
|
|
76
|
-
{
|
|
76
|
+
{render_lang(all_langs, "Subscribe")}
|
|
77
77
|
</button>
|
|
78
78
|
</form>
|
|
79
79
|
<div class="mt-3 mx-auto text-center max-w-lg text-[15px] text-gray-400">
|
|
@@ -9,21 +9,21 @@
|
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
11
|
import { sprintf } from "sprintf-js";
|
|
12
|
-
import { render_url, render_value } from "../scripts/util.js";
|
|
12
|
+
import { render_url, render_value, render_lang } from "../scripts/util.js";
|
|
13
13
|
const { uri, total, per_page, current_page, total_pages } = Astro.props;
|
|
14
14
|
|
|
15
15
|
const { all_langs, base, url_suffix } = Astro.locals;
|
|
16
16
|
|
|
17
|
-
const previousPageLang =
|
|
18
|
-
const nextPageLang =
|
|
19
|
-
const totalRecordsLang =
|
|
17
|
+
const previousPageLang = render_lang(all_langs, "previous page");
|
|
18
|
+
const nextPageLang = render_lang(all_langs, "next page");
|
|
19
|
+
const totalRecordsLang = render_lang(all_langs, "Total Records");
|
|
20
20
|
|
|
21
21
|
const totalRecordsLang1 = sprintf(
|
|
22
22
|
totalRecordsLang,
|
|
23
23
|
`<span class="font-medium">${total}</span>`
|
|
24
24
|
);
|
|
25
25
|
|
|
26
|
-
const recordsPerPageLang =
|
|
26
|
+
const recordsPerPageLang = render_lang(all_langs, "records per page");
|
|
27
27
|
|
|
28
28
|
let centerSize = 5;
|
|
29
29
|
let centerPage = current_page;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
11
|
import JeawinApi from "../scripts/cms.js";
|
|
12
|
-
import { render_url, render_value } from "../scripts/util.js";
|
|
12
|
+
import { render_url, render_value, render_lang } from "../scripts/util.js";
|
|
13
13
|
const { nodeinfo, node_id, channel_id, category_id } = Astro.props;
|
|
14
14
|
const { all_langs, jeawin_apikey, jeawin_api_domain, jeawin_api_path, base, url_suffix } =
|
|
15
15
|
Astro.locals;
|
|
@@ -18,8 +18,8 @@ const jeawinapi = new JeawinApi({
|
|
|
18
18
|
api_domain: jeawin_api_domain,
|
|
19
19
|
api_path: jeawin_api_path,
|
|
20
20
|
});
|
|
21
|
-
const previousLang =
|
|
22
|
-
const nextLang =
|
|
21
|
+
const previousLang = render_lang(all_langs, "previous");
|
|
22
|
+
const nextLang = render_lang(all_langs, "next");
|
|
23
23
|
|
|
24
24
|
let prevnode = null;
|
|
25
25
|
let nextnode = null;
|
|
@@ -83,7 +83,7 @@ if (Number(nodeinfo.category_id)) {
|
|
|
83
83
|
>{nodeinfo.category_name}</div>
|
|
84
84
|
<div>
|
|
85
85
|
<div x-data="{}" class="cursor-pointer text-[var(--themeColor)] hover:underline"
|
|
86
|
-
x-on:click={`window.location.href='${render_url(backtolisturl, base, null, url_suffix)}'`}>{
|
|
86
|
+
x-on:click={`window.location.href='${render_url(backtolisturl, base, null, url_suffix)}'`}>{render_lang(all_langs, 'Back to List')}</div>
|
|
87
87
|
</div>
|
|
88
88
|
|
|
89
89
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Icon } from "astro-icon/components";
|
|
3
3
|
import JeawinApi from "../scripts/cms.js";
|
|
4
|
-
import { render_url, render_value } from "../scripts/util.js";
|
|
4
|
+
import { render_url, render_value, render_lang } from "../scripts/util.js";
|
|
5
5
|
const { nodeinfo, node_id, channel_id, category_id } = Astro.props;
|
|
6
6
|
const { all_langs, jeawin_apikey, jeawin_api_domain, jeawin_api_path, base, url_suffix } =
|
|
7
7
|
Astro.locals;
|
|
@@ -10,8 +10,8 @@ const jeawinapi = new JeawinApi({
|
|
|
10
10
|
api_domain: jeawin_api_domain,
|
|
11
11
|
api_path: jeawin_api_path,
|
|
12
12
|
});
|
|
13
|
-
const previousLang =
|
|
14
|
-
const nextLang =
|
|
13
|
+
const previousLang = render_lang(all_langs, "previous");
|
|
14
|
+
const nextLang = render_lang(all_langs, "next");
|
|
15
15
|
|
|
16
16
|
let prevnode = null;
|
|
17
17
|
let nextnode = null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_url, render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_url, render_value,render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -57,7 +57,7 @@ const { all_langs,base, url_suffix } = Astro.locals;
|
|
|
57
57
|
|
|
58
58
|
<div class="mt-6">
|
|
59
59
|
<div class="text-gray-800 text-xl font-semibold mb-2">
|
|
60
|
-
{
|
|
60
|
+
{render_lang(all_langs, "Features")}
|
|
61
61
|
</div>
|
|
62
62
|
|
|
63
63
|
<ul class="mt-6 space-y-4">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_url, render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_url, render_value, render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -68,7 +68,7 @@ const { all_langs,base, url_suffix } = Astro.locals;
|
|
|
68
68
|
</div>
|
|
69
69
|
<ul class="p-4 py-8 space-y-3 md:p-8">
|
|
70
70
|
<li class="pb-2 text-gray-800 font-medium">
|
|
71
|
-
{
|
|
71
|
+
{render_lang(all_langs, "Features")}
|
|
72
72
|
</li>
|
|
73
73
|
{itm.features.map((itm1: any) => (
|
|
74
74
|
<li class="flex items-center gap-5">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import {render_url, render_value} from '../../scripts/util.js';
|
|
2
|
+
import {render_url, render_value,render_lang} from '../../scripts/util.js';
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -35,7 +35,7 @@ const {all_langs,base,url_suffix} = Astro.locals;
|
|
|
35
35
|
<thead class="whitespace-nowrap">
|
|
36
36
|
<tr class="h-24">
|
|
37
37
|
<th class="text-gray-800 px-2 py-1 font-semibold text-lg">
|
|
38
|
-
{
|
|
38
|
+
{render_lang(all_langs, "Features")}
|
|
39
39
|
</th>
|
|
40
40
|
{
|
|
41
41
|
plans.map((plan: any) => (
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_url, render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_url, render_value, render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -88,7 +88,7 @@ const { all_langs,base, url_suffix } = Astro.locals;
|
|
|
88
88
|
</div>
|
|
89
89
|
<ul class="p-4 space-y-3 sm:grid sm:grid-cols-2 md:block md:p-8 lg:grid">
|
|
90
90
|
<div class="pb-2 col-span-2 text-gray-800 font-medium">
|
|
91
|
-
<p>{
|
|
91
|
+
<p>{render_lang(all_langs, "Features")}</p>
|
|
92
92
|
</div>
|
|
93
93
|
|
|
94
94
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import { render_url, render_value } from "../../scripts/util.js";
|
|
2
|
+
import { render_url, render_value, render_lang } from "../../scripts/util.js";
|
|
3
3
|
import SectionContainer from "../section_container.astro";
|
|
4
4
|
interface Props {
|
|
5
5
|
bgcolor?: any;
|
|
@@ -70,7 +70,7 @@ const { all_langs,base, url_suffix } = Astro.locals;
|
|
|
70
70
|
</div>
|
|
71
71
|
<ul class="p-8 space-y-3">
|
|
72
72
|
<li class="pb-2 text-gray-800 font-medium">
|
|
73
|
-
<p>{
|
|
73
|
+
<p>{render_lang(all_langs, "Features")}</p>
|
|
74
74
|
</li>
|
|
75
75
|
{plan.features.map((feature: any) => (
|
|
76
76
|
<li class="flex items-center gap-5">
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @email chaegumi@jeawin.com
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
|
-
import { render_url, render_value } from "../scripts/util.js";
|
|
11
|
+
import { render_url, render_value, render_lang } from "../scripts/util.js";
|
|
12
12
|
|
|
13
13
|
import DefaultImage from "./default_image.astro";
|
|
14
14
|
import RenderImage from "./image.astro";
|
|
@@ -29,7 +29,7 @@ const { all_langs, base, url_suffix } = Astro.locals;
|
|
|
29
29
|
|
|
30
30
|
const TitleTag = title_tag || "div";
|
|
31
31
|
|
|
32
|
-
const RequestBtnText =
|
|
32
|
+
const RequestBtnText = render_lang(all_langs, "request a quote");
|
|
33
33
|
// console.log(imgobj);
|
|
34
34
|
---
|
|
35
35
|
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
2
|
import { Icon } from "astro-icon/components";
|
|
3
|
-
import { render_value } from "../scripts/util.js";
|
|
3
|
+
import { render_lang, render_value } from "../scripts/util.js";
|
|
4
4
|
interface Props {
|
|
5
5
|
show_search_box?: boolean;
|
|
6
6
|
search_icon_style?: string;
|
|
7
7
|
}
|
|
8
8
|
const { all_langs } = Astro.locals;
|
|
9
9
|
const {show_search_box = false, search_icon_style} = Astro.props;
|
|
10
|
-
const searchInputLang =
|
|
11
|
-
const searchLang =
|
|
10
|
+
const searchInputLang = render_lang(all_langs, "Search by site");
|
|
11
|
+
const searchLang = render_lang(all_langs, "Search");
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<div>
|
|
@@ -28,7 +28,7 @@ const searchLang = render_value(all_langs, "Search");
|
|
|
28
28
|
<div class="size-5">
|
|
29
29
|
<Icon
|
|
30
30
|
name="fa6-solid:magnifying-glass"
|
|
31
|
-
class:list={["size-5 cursor-pointer", {"md:hidden":show_search_box}, search_icon_style]}
|
|
31
|
+
class:list={["search-input-icon","size-5 cursor-pointer", {"md:hidden":show_search_box}, search_icon_style]}
|
|
32
32
|
x-on:click="openSearchForm"
|
|
33
33
|
x-show="!showSearchForm"
|
|
34
34
|
/>
|
|
@@ -54,12 +54,12 @@ const searchLang = render_value(all_langs, "Search");
|
|
|
54
54
|
autocomplete="off" required="required"
|
|
55
55
|
/>
|
|
56
56
|
<button type="submit" class="cursor-pointer absolute inset-y-0 right-0 flex items-center pr-2">
|
|
57
|
-
<Icon name="fa6-solid:magnifying-glass" class="size-4" />
|
|
57
|
+
<Icon name="fa6-solid:magnifying-glass" class="search-input-submit-btn-icon size-4" />
|
|
58
58
|
</button>
|
|
59
59
|
</label>
|
|
60
60
|
<Icon
|
|
61
61
|
name="fa6-solid:xmark"
|
|
62
|
-
class="size-5 text-red-500 cursor-pointer"
|
|
62
|
+
class="search-input-clear-icon size-5 text-red-500 cursor-pointer"
|
|
63
63
|
x-on:click="closeSearchForm"
|
|
64
64
|
/>
|
|
65
65
|
</div>
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
11
|
import { sprintf } from "sprintf-js";
|
|
12
|
-
import { render_value } from "../scripts/util.js";
|
|
12
|
+
import { render_lang, render_value } from "../scripts/util.js";
|
|
13
13
|
import loadingImg from "../assets/images/loading.gif";
|
|
14
14
|
import SearchInput from "./formitem/searchinput.astro";
|
|
15
15
|
const { channel_name, site_id, list_tpl } = Astro.props;
|
|
@@ -18,12 +18,12 @@ const { all_langs, jeawin_api_domain, jeawin_form_api_domain } = Astro.locals;
|
|
|
18
18
|
|
|
19
19
|
const site = Astro.site;
|
|
20
20
|
|
|
21
|
-
const previousPageLang =
|
|
22
|
-
const nextPageLang =
|
|
23
|
-
const readmoreLang =
|
|
24
|
-
const searchresultforLang =
|
|
21
|
+
const previousPageLang = render_lang(all_langs, "previous page");
|
|
22
|
+
const nextPageLang = render_lang(all_langs, "next page");
|
|
23
|
+
const readmoreLang = render_lang(all_langs, "read more");
|
|
24
|
+
const searchresultforLang = render_lang(all_langs, "Search Result for");
|
|
25
25
|
|
|
26
|
-
const totalRecordsLang =
|
|
26
|
+
const totalRecordsLang = render_lang(all_langs, "Total Records");
|
|
27
27
|
|
|
28
28
|
let nav_wrapper_class = "isolate inline-flex -space-x-px rounded-md shadow-xs";
|
|
29
29
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* @email chaegumi@jeawin.com
|
|
9
9
|
* @filesource
|
|
10
10
|
*/
|
|
11
|
-
import { render_value } from "../scripts/util.js";
|
|
11
|
+
import { render_lang, render_value } from "../scripts/util.js";
|
|
12
12
|
const { canonical, seo_title, seo_description } = Astro.props;
|
|
13
13
|
|
|
14
14
|
const { all_langs } = Astro.locals;
|
|
@@ -21,7 +21,7 @@ const medias = [
|
|
|
21
21
|
}" width="${
|
|
22
22
|
14 * multiple
|
|
23
23
|
}" viewBox="0 0 448 512"><path d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h98.2V334.2H109.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H255V480H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg>`,
|
|
24
|
-
title:
|
|
24
|
+
title: render_lang(all_langs, "share on facebook"),
|
|
25
25
|
url: `https://www.facebook.com/sharer.php?u=${canonical}`,
|
|
26
26
|
},
|
|
27
27
|
{
|
|
@@ -30,7 +30,7 @@ const medias = [
|
|
|
30
30
|
}" width="${
|
|
31
31
|
14 * multiple
|
|
32
32
|
}" viewBox="0 0 512 512"><path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z"/></svg>`,
|
|
33
|
-
title:
|
|
33
|
+
title: render_lang(all_langs, "share on twitter"),
|
|
34
34
|
url: `https://twitter.com/intent/tweet?text=${encodeURIComponent(
|
|
35
35
|
seo_title
|
|
36
36
|
)}&url=${encodeURIComponent(canonical)}`,
|
|
@@ -41,7 +41,7 @@ const medias = [
|
|
|
41
41
|
}" width="${
|
|
42
42
|
14 * multiple
|
|
43
43
|
}" viewBox="0 0 448 512"><path d="M384 32H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h72.6l-2.2-.8c-5.4-48.1-3.1-57.5 15.7-134.7c3.9-16 8.5-35 13.9-57.9c0 0-7.3-14.8-7.3-36.5c0-70.7 75.5-78 75.5-25c0 13.5-5.4 31.1-11.2 49.8c-3.3 10.6-6.6 21.5-9.1 32c-5.7 24.5 12.3 44.4 36.4 44.4c43.7 0 77.2-46 77.2-112.4c0-58.8-42.3-99.9-102.6-99.9C153 139 112 191.4 112 245.6c0 21.1 8.2 43.7 18.3 56c2 2.4 2.3 4.5 1.7 7c-1.1 4.7-3.1 12.9-4.7 19.2c-1 4-1.8 7.3-2.1 8.6c-1.1 4.5-3.5 5.5-8.2 3.3c-30.6-14.3-49.8-59.1-49.8-95.1C67.2 167.1 123.4 96 229.4 96c85.2 0 151.4 60.7 151.4 141.8c0 84.6-53.3 152.7-127.4 152.7c-24.9 0-48.3-12.9-56.3-28.2c0 0-12.3 46.9-15.3 58.4c-5 19.3-17.6 42.9-27.4 59.3H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64z"/></svg>`,
|
|
44
|
-
title:
|
|
44
|
+
title: render_lang(all_langs, "share on pinterest"),
|
|
45
45
|
url: `https://pinterest.com/pin/create/button/?url=${encodeURIComponent(
|
|
46
46
|
canonical
|
|
47
47
|
)}&description=${encodeURIComponent(seo_title)}`,
|
|
@@ -52,7 +52,7 @@ const medias = [
|
|
|
52
52
|
}" width="${
|
|
53
53
|
14 * multiple
|
|
54
54
|
}" viewBox="0 0 448 512"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>`,
|
|
55
|
-
title:
|
|
55
|
+
title: render_lang(all_langs, "share on linkedin"),
|
|
56
56
|
url: `https://www.linkedin.com/shareArticle?mini=true&url=${encodeURIComponent(
|
|
57
57
|
canonical
|
|
58
58
|
)}&title=${encodeURIComponent(seo_title)}`,
|
|
@@ -63,7 +63,7 @@ const medias = [
|
|
|
63
63
|
}" width="${
|
|
64
64
|
14 * multiple
|
|
65
65
|
}" viewBox="0 0 448 512"><path d="M64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96C0 60.7 28.7 32 64 32zM305.9 166.4c20.6 0 37.3-16.7 37.3-37.3s-16.7-37.3-37.3-37.3c-18 0-33.1 12.8-36.6 29.8c-30.2 3.2-53.8 28.8-53.8 59.9l0 .2c-32.8 1.4-62.8 10.7-86.6 25.5c-8.8-6.8-19.9-10.9-32-10.9c-28.9 0-52.3 23.4-52.3 52.3c0 21 12.3 39 30.1 47.4c1.7 60.7 67.9 109.6 149.3 109.6s147.6-48.9 149.3-109.7c17.7-8.4 29.9-26.4 29.9-47.3c0-28.9-23.4-52.3-52.3-52.3c-12 0-23 4-31.9 10.8c-24-14.9-54.3-24.2-87.5-25.4l0-.1c0-22.2 16.5-40.7 37.9-43.7l0 0c3.9 16.5 18.7 28.7 36.3 28.7zM155 248.1c14.6 0 25.8 15.4 25 34.4s-11.8 25.9-26.5 25.9s-27.5-7.7-26.6-26.7s13.5-33.5 28.1-33.5zm166.4 33.5c.9 19-12 26.7-26.6 26.7s-25.6-6.9-26.5-25.9c-.9-19 10.3-34.4 25-34.4s27.3 14.6 28.1 33.5zm-42.1 49.6c-9 21.5-30.3 36.7-55.1 36.7s-46.1-15.1-55.1-36.7c-1.1-2.6 .7-5.4 3.4-5.7c16.1-1.6 33.5-2.5 51.7-2.5s35.6 .9 51.7 2.5c2.7 .3 4.5 3.1 3.4 5.7z"/></svg>`,
|
|
66
|
-
title:
|
|
66
|
+
title: render_lang(all_langs, "share on reddit"),
|
|
67
67
|
url: `http://www.reddit.com/submit?url=${encodeURIComponent(
|
|
68
68
|
canonical
|
|
69
69
|
)}&title=${encodeURIComponent(seo_title)}`,
|
|
@@ -74,7 +74,7 @@ const medias = [
|
|
|
74
74
|
}" width="${
|
|
75
75
|
14 * multiple
|
|
76
76
|
}" viewBox="0 0 512 512"><path d="M311 196.8v81.3c0 2.1-1.6 3.7-3.7 3.7h-13c-1.3 0-2.4-.7-3-1.5l-37.3-50.3v48.2c0 2.1-1.6 3.7-3.7 3.7h-13c-2.1 0-3.7-1.6-3.7-3.7V196.9c0-2.1 1.6-3.7 3.7-3.7h12.9c1.1 0 2.4 .6 3 1.6l37.3 50.3V196.9c0-2.1 1.6-3.7 3.7-3.7h13c2.1-.1 3.8 1.6 3.8 3.5zm-93.7-3.7h-13c-2.1 0-3.7 1.6-3.7 3.7v81.3c0 2.1 1.6 3.7 3.7 3.7h13c2.1 0 3.7-1.6 3.7-3.7V196.8c0-1.9-1.6-3.7-3.7-3.7zm-31.4 68.1H150.3V196.8c0-2.1-1.6-3.7-3.7-3.7h-13c-2.1 0-3.7 1.6-3.7 3.7v81.3c0 1 .3 1.8 1 2.5c.7 .6 1.5 1 2.5 1h52.2c2.1 0 3.7-1.6 3.7-3.7v-13c0-1.9-1.6-3.7-3.5-3.7zm193.7-68.1H327.3c-1.9 0-3.7 1.6-3.7 3.7v81.3c0 1.9 1.6 3.7 3.7 3.7h52.2c2.1 0 3.7-1.6 3.7-3.7V265c0-2.1-1.6-3.7-3.7-3.7H344V247.7h35.5c2.1 0 3.7-1.6 3.7-3.7V230.9c0-2.1-1.6-3.7-3.7-3.7H344V213.5h35.5c2.1 0 3.7-1.6 3.7-3.7v-13c-.1-1.9-1.7-3.7-3.7-3.7zM512 93.4V419.4c-.1 51.2-42.1 92.7-93.4 92.6H92.6C41.4 511.9-.1 469.8 0 418.6V92.6C.1 41.4 42.2-.1 93.4 0H419.4c51.2 .1 92.7 42.1 92.6 93.4zM441.6 233.5c0-83.4-83.7-151.3-186.4-151.3s-186.4 67.9-186.4 151.3c0 74.7 66.3 137.4 155.9 149.3c21.8 4.7 19.3 12.7 14.4 42.1c-.8 4.7-3.8 18.4 16.1 10.1s107.3-63.2 146.5-108.2c27-29.7 39.9-59.8 39.9-93.1z"/></svg>`,
|
|
77
|
-
title:
|
|
77
|
+
title: render_lang(all_langs, "share on line"),
|
|
78
78
|
url: `https://line.me/R/msg/text/?${encodeURIComponent(
|
|
79
79
|
seo_title
|
|
80
80
|
)} ${encodeURIComponent(canonical)}`,
|
|
@@ -85,7 +85,7 @@ const medias = [
|
|
|
85
85
|
}" width="${
|
|
86
86
|
14 * multiple
|
|
87
87
|
}" viewBox="0 0 448 512"><path d="M92.1 254.6c0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6L152 365.2l4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8c0-35.2-15.2-68.3-40.1-93.2c-25-25-58-38.7-93.2-38.7c-72.7 0-131.8 59.1-131.9 131.8zM274.8 330c-12.6 1.9-22.4 .9-47.5-9.9c-36.8-15.9-61.8-51.5-66.9-58.7c-.4-.6-.7-.9-.8-1.1c-2-2.6-16.2-21.5-16.2-41c0-18.4 9-27.9 13.2-32.3c.3-.3 .5-.5 .7-.8c3.6-4 7.9-5 10.6-5c2.6 0 5.3 0 7.6 .1c.3 0 .5 0 .8 0c2.3 0 5.2 0 8.1 6.8c1.2 2.9 3 7.3 4.9 11.8c3.3 8 6.7 16.3 7.3 17.6c1 2 1.7 4.3 .3 6.9c-3.4 6.8-6.9 10.4-9.3 13c-3.1 3.2-4.5 4.7-2.3 8.6c15.3 26.3 30.6 35.4 53.9 47.1c4 2 6.3 1.7 8.6-1c2.3-2.6 9.9-11.6 12.5-15.5c2.6-4 5.3-3.3 8.9-2s23.1 10.9 27.1 12.9c.8 .4 1.5 .7 2.1 1c2.8 1.4 4.7 2.3 5.5 3.6c.9 1.9 .9 9.9-2.4 19.1c-3.3 9.3-19.1 17.7-26.7 18.8zM448 96c0-35.3-28.7-64-64-64H64C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96zM148.1 393.9L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5c29.9 30 47.9 69.8 47.9 112.2c0 87.4-72.7 158.5-160.1 158.5c-26.6 0-52.7-6.7-75.8-19.3z"/></svg>`,
|
|
88
|
-
title:
|
|
88
|
+
title: render_lang(all_langs, "share on whatsapp"),
|
|
89
89
|
url: `https://api.whatsapp.com/send?text=${encodeURIComponent(
|
|
90
90
|
seo_title
|
|
91
91
|
)} ${encodeURIComponent(canonical)}&phone=`,
|
|
@@ -96,7 +96,7 @@ const medias = [
|
|
|
96
96
|
}" width="${
|
|
97
97
|
14 * multiple
|
|
98
98
|
}" viewBox="0 0 512 512"><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"/></svg>`,
|
|
99
|
-
title:
|
|
99
|
+
title: render_lang(all_langs, "share on email"),
|
|
100
100
|
url: `mailto:?subject=${encodeURIComponent(
|
|
101
101
|
seo_title
|
|
102
102
|
)}&body=${encodeURIComponent(canonical)}`,
|
|
@@ -107,7 +107,7 @@ const medias = [
|
|
|
107
107
|
}" width="${
|
|
108
108
|
14 * multiple
|
|
109
109
|
}" viewBox="0 0 512 512"><path d="M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8 .3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4 .6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z"/></svg>`,
|
|
110
|
-
title:
|
|
110
|
+
title: render_lang(all_langs, "share on weibo"),
|
|
111
111
|
url: `https://service.weibo.com/share/share.php?title=${encodeURIComponent(
|
|
112
112
|
seo_title
|
|
113
113
|
)}&url=${encodeURIComponent(canonical)}`,
|
|
@@ -118,7 +118,7 @@ const medias = [
|
|
|
118
118
|
}" width="${
|
|
119
119
|
14 * multiple
|
|
120
120
|
}" viewBox="0 0 448 512"><path d="M433.8 420.4c-11.5 1.4-44.9-52.7-44.9-52.7 0 31.3-16.1 72.2-51.1 101.8 16.8 5.2 54.8 19.2 45.8 34.4-7.3 12.3-125.5 7.9-159.6 4-34.1 3.8-152.3 8.3-159.6-4-9-15.3 28.9-29.2 45.8-34.4-34.9-29.5-51.1-70.4-51.1-101.8 0 0-33.3 54.1-44.9 52.7-5.4-.7-12.4-29.6 9.3-99.7 10.3-33 22-60.5 40.1-105.8C60.7 98.1 109 0 224 0c113.7 0 163.2 96.1 160.3 215 18.1 45.2 29.9 72.9 40.1 105.8 21.8 70.1 14.7 99.1 9.3 99.7z"/></svg>`,
|
|
121
|
-
title:
|
|
121
|
+
title: render_lang(all_langs, "share on qzone"),
|
|
122
122
|
url: `https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=${encodeURIComponent(
|
|
123
123
|
canonical
|
|
124
124
|
)}&pics=&title=${encodeURIComponent(
|
|
@@ -129,7 +129,7 @@ const medias = [
|
|
|
129
129
|
---
|
|
130
130
|
|
|
131
131
|
<div class="flex gap-2" data-aos="fade-up" data-aos-once="false">
|
|
132
|
-
<div>{
|
|
132
|
+
<div>{render_lang(all_langs, "Share on")}</div>
|
|
133
133
|
<ul class="flex gap-2 flex-wrap m-0 p-0">
|
|
134
134
|
{
|
|
135
135
|
medias.map((media) => (
|
|
@@ -47,7 +47,7 @@ import "smartmenus/dist/css/smartmenus.min.css"
|
|
|
47
47
|
<!-- Navbar 1 -->
|
|
48
48
|
<nav id="navbar-header" class="sm-navbar gap-4">
|
|
49
49
|
<div class="sm-brand w-1/2 md:w-auto">
|
|
50
|
-
<Logo />
|
|
50
|
+
<Logo logo_class="max-h-12 w-full" />
|
|
51
51
|
</div>
|
|
52
52
|
|
|
53
53
|
<span class="sm-toggler-state" id="sm-toggler-state-1"></span>
|
|
@@ -89,9 +89,9 @@ import "smartmenus/dist/css/smartmenus.min.css"
|
|
|
89
89
|
)}
|
|
90
90
|
</Fragment>
|
|
91
91
|
) : (
|
|
92
|
-
<li class={`sm-nav-item`}>
|
|
92
|
+
<li class:list={`sm-nav-item`}>
|
|
93
93
|
<a
|
|
94
|
-
class={`sm-nav-link ${
|
|
94
|
+
class:list={`sm-nav-link ${
|
|
95
95
|
menu_root_link_id == menu.id ||
|
|
96
96
|
(menu_root_link_id == 0 && menu.link_url == "")
|
|
97
97
|
? "sm-selected"
|
|
@@ -22,7 +22,7 @@ if (
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
24
|
<li class="sm-nav-item sm-nav-item--has-mega">
|
|
25
|
-
<a class={aClass} href={render_url(menu.link_url, base, null, url_suffix)} title={menu.link_title}
|
|
25
|
+
<a class:list={aClass} href={render_url(menu.link_url, base, null, url_suffix)} title={menu.link_title}
|
|
26
26
|
>{menu.link_title}</a
|
|
27
27
|
>
|
|
28
28
|
<button
|
|
@@ -30,15 +30,15 @@ if (
|
|
|
30
30
|
<Fragment>
|
|
31
31
|
{
|
|
32
32
|
menu.children ? (
|
|
33
|
-
<li class={`${liClass} ${is_sub ? "hs-has-sub-menu" : ""}`}>
|
|
33
|
+
<li class:list={`${liClass} ${is_sub ? "hs-has-sub-menu" : ""}`}>
|
|
34
34
|
<a
|
|
35
|
-
class={aClass}
|
|
35
|
+
class:list={aClass}
|
|
36
36
|
href={render_url(menu.link_url, base, null, url_suffix)}
|
|
37
37
|
title={menu.link_title}
|
|
38
38
|
target={menu.target}
|
|
39
39
|
>{menu.link_title}</a>
|
|
40
40
|
|
|
41
|
-
<button class={`${aClass} sm-sub-toggler`} aria-label="Toggle sub menu">
|
|
41
|
+
<button class:list={`${aClass} sm-sub-toggler`} aria-label="Toggle sub menu">
|
|
42
42
|
{menu.nodecount ? menu.nodecount : ""}
|
|
43
43
|
</button>
|
|
44
44
|
|
|
@@ -53,14 +53,14 @@ if (
|
|
|
53
53
|
</ul>
|
|
54
54
|
</li>
|
|
55
55
|
) : (
|
|
56
|
-
<li class={liClass}>
|
|
56
|
+
<li class:list={liClass}>
|
|
57
57
|
<a
|
|
58
|
-
class={aClass}
|
|
58
|
+
class:list={aClass}
|
|
59
59
|
href={render_url(menu.link_url, base, null, url_suffix)}
|
|
60
60
|
title={menu.link_title}
|
|
61
61
|
target={menu.target}
|
|
62
62
|
>{menu.link_title}</a>
|
|
63
|
-
{menu.nodecount ? <span class={aClass}>{menu.nodecount}</span> : null}
|
|
63
|
+
{menu.nodecount ? <span class:list={aClass}>{menu.nodecount}</span> : null}
|
|
64
64
|
</li>
|
|
65
65
|
)
|
|
66
66
|
}
|
|
@@ -50,7 +50,7 @@ if (Astro.slots.has("default")) {
|
|
|
50
50
|
) : (
|
|
51
51
|
<Fragment>
|
|
52
52
|
{items.map((item: any, idx: number) => (
|
|
53
|
-
<swiper-slide
|
|
53
|
+
<swiper-slide lazy={idx > 0 ? "true" : "false"}
|
|
54
54
|
class:list={[{ hidden: idx > 0 }, "swiper-slide", "h-auto"]}
|
|
55
55
|
>
|
|
56
56
|
<CommonCard node={item} />
|
package/src/layouts/Footer.astro
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import _ from "lodash";
|
|
12
12
|
import Block from "../components/block.astro";
|
|
13
13
|
import JeawinApi from "../scripts/cms.js";
|
|
14
|
-
import { render_url, render_date, render_value } from "../scripts/util.js";
|
|
14
|
+
import { render_url, render_date, render_value, render_lang } from "../scripts/util.js";
|
|
15
15
|
import SiteOptions from "../components/site_options.astro";
|
|
16
16
|
import Friendlinks from "../components/friendlinks.astro";
|
|
17
17
|
import ChooseLanguage from "../components/choose_language.astro";
|
|
@@ -109,7 +109,7 @@ const menus = await jeawinapi.get_menus({
|
|
|
109
109
|
</div>
|
|
110
110
|
<div class="w-full md:w-1/3">
|
|
111
111
|
<div class="mb-5 text-lg">
|
|
112
|
-
{
|
|
112
|
+
{render_lang(all_langs, "Useful Links")}
|
|
113
113
|
</div>
|
|
114
114
|
<ul>
|
|
115
115
|
{
|
|
@@ -175,7 +175,7 @@ const menus = await jeawinapi.get_menus({
|
|
|
175
175
|
</div>
|
|
176
176
|
</div>
|
|
177
177
|
|
|
178
|
-
<div><Fragment set:html={
|
|
178
|
+
<div><Fragment set:html={render_lang(all_langs, "Powered by")} /></div>
|
|
179
179
|
</div>
|
|
180
180
|
</footer>
|
|
181
181
|
<style define:vars={{ bgimg1: `url(${bg1.src})`, bgimg2: `url(${bg2.src})` }}>
|
package/src/scripts/consts.js
CHANGED
|
@@ -4,10 +4,14 @@ import _ from 'lodash';
|
|
|
4
4
|
* 图标配置
|
|
5
5
|
*/
|
|
6
6
|
export const ICONS_INCLUDE = {
|
|
7
|
-
'fa6-solid': ['magnifying-glass', 'clock', 'eye', 'envelope', 'phone', 'fax',
|
|
8
|
-
'
|
|
7
|
+
'fa6-solid': ['magnifying-glass', 'clock', 'eye', 'envelope', 'phone', 'fax',
|
|
8
|
+
'angle-right', 'angle-left', 'angle-up', 'angle-down',
|
|
9
|
+
'arrow-right', 'arrow-left', 'arrow-up', 'arrow-down',
|
|
10
|
+
'caret-right', 'caret-left', 'caret-up', 'caret-down',
|
|
11
|
+
'house', 'message', 'circle-question', 'xmark', 'video', 'download',
|
|
9
12
|
'file-pdf', 'file-csv', 'file-image', 'file-word', 'file-video', 'file-powerpoint', 'file-excel',
|
|
10
|
-
'file-code', 'file-audio', 'file', 'file-zipper', 'sun', 'moon', 'up-right-from-square',
|
|
13
|
+
'file-code', 'file-audio', 'file', 'file-zipper', 'sun', 'moon', 'up-right-from-square',
|
|
14
|
+
'user', 'user-tag', 'tag', 'tags', 'lock', 'lock-open', 'unlock'],
|
|
11
15
|
'fa6-brands': ['x-twitter', 'facebook', 'youtube', 'tiktok', 'linkedin',
|
|
12
16
|
'google-plus', 'flickr', 'pinterest', 'whatsapp', 'instagram', 'qq', 'weixin', 'weibo', 'bilibili', 'zhihu']
|
|
13
17
|
};
|