jeawin-astro 3.0.44 → 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.
Files changed (45) hide show
  1. package/package.json +1 -1
  2. package/src/components/baidumap.astro +2 -2
  3. package/src/components/banner_swiper.astro +9 -9
  4. package/src/components/blocks/block10.astro +3 -3
  5. package/src/components/children_categories_list.astro +2 -1
  6. package/src/components/comment_form.astro +9 -9
  7. package/src/components/detail_images.astro +7 -7
  8. package/src/components/downloads/download1.astro +4 -4
  9. package/src/components/downloads/download2.astro +2 -2
  10. package/src/components/filter_links.astro +15 -1
  11. package/src/components/filter_links_html.astro +15 -1
  12. package/src/components/footer/footer1.astro +2 -2
  13. package/src/components/footer/footer2.astro +2 -2
  14. package/src/components/form.astro +2 -2
  15. package/src/components/formitem/country.astro +2 -2
  16. package/src/components/friendlinks.astro +2 -2
  17. package/src/components/hero/hero3.astro +3 -3
  18. package/src/components/hero/hero5.astro +3 -3
  19. package/src/components/index_children_categories_list.astro +2 -2
  20. package/src/components/logo.astro +5 -3
  21. package/src/components/newsletter.astro +3 -3
  22. package/src/components/newsletters/newsletter1.astro +3 -3
  23. package/src/components/newsletters/newsletter2.astro +3 -3
  24. package/src/components/newsletters/newsletter3.astro +3 -3
  25. package/src/components/newsletters/newsletter4.astro +3 -3
  26. package/src/components/newsletters/newsletter5.astro +3 -3
  27. package/src/components/newsletters/newsletter6.astro +3 -3
  28. package/src/components/pagination.astro +5 -5
  29. package/src/components/prevnext.astro +4 -4
  30. package/src/components/prevnext_simple.astro +3 -3
  31. package/src/components/pricings/pricing1.astro +2 -2
  32. package/src/components/pricings/pricing10.astro +2 -2
  33. package/src/components/pricings/pricing3.astro +2 -2
  34. package/src/components/pricings/pricing7.astro +2 -2
  35. package/src/components/pricings/pricing8.astro +2 -2
  36. package/src/components/product_card.astro +2 -2
  37. package/src/components/search_input.astro +6 -6
  38. package/src/components/search_result.astro +6 -6
  39. package/src/components/share_button.astro +12 -12
  40. package/src/components/smartmenus.astro +3 -3
  41. package/src/components/smartmenus_megamenu.astro +1 -1
  42. package/src/components/smartmenus_submenu.astro +6 -6
  43. package/src/components/swiper.astro +1 -1
  44. package/src/layouts/Footer.astro +3 -3
  45. package/src/scripts/consts.js +7 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jeawin-astro",
3
- "version": "3.0.44",
3
+ "version": "3.0.46",
4
4
  "author": "chaegumi <chaegumi@qq.com>",
5
5
  "description": "",
6
6
  "license": "MIT",
@@ -19,7 +19,7 @@ interface Props {
19
19
  const {
20
20
  longitude = 118.115775,
21
21
  latitude = 24.473813,
22
- address = "地址:厦禾路879号美新广场7楼 <br>电话:(0592)2203787,4009188880",
22
+ address = "地址:厦禾路879号美新广场7楼 <br>电话:(0592)2203787,13276021100",
23
23
  search_info_window_title = "厦门杰赢网络科技有限公司",
24
24
  } = Astro.props;
25
25
  ---
@@ -100,7 +100,7 @@ const {
100
100
 
101
101
  // var marker = new BMap.Marker(point);
102
102
  // map.addOverlay(marker);
103
- // var infoWindow = new BMap.InfoWindow("地址:厦禾路879号美新广场17楼 <br>电话:(0592)2203787,4009188880 <br>坐标:118.115775,24.473813"); // 创建信息窗口对象
103
+ // var infoWindow = new BMap.InfoWindow("地址:厦禾路879号美新广场17楼 <br>电话:(0592)2203787,13276021100 <br>坐标:118.115775,24.473813"); // 创建信息窗口对象
104
104
  // map.openInfoWindow(infoWindow,point); //开启信息窗口
105
105
  }
106
106
  }
@@ -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') || render_value(all_langs, 'read more')}>{render_value(banner, 'btntext') || render_value(all_langs, 'read more')}</Button>
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", "loading"]
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", "loading"]
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", "loading"]
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", "loading"]
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 = render_value(all_langs, "Detail");
34
- const ContactLang = render_value(all_langs, "Contact");
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 = render_value(all_langs, "product");
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
- {render_value(all_langs, "Nickname")}<span style="color:red;">*</span>:
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={render_value(all_langs, "Enter your nickname")}
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
- {render_value(all_langs, "E-mail")}<span style="color:red;">*</span>:
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={render_value(all_langs, "Enter your email")}
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
- {render_value(all_langs, "Rate")}<span style="color:red;">*</span>:
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
- {render_value(all_langs, "Comments")}<span style="color:red;">*</span>:
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={render_value(all_langs, "Enter your comment")}
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">{render_value(all_langs, "Send")}</button
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 = render_value(all_langs, "Title");
10
- const timetext = render_value(all_langs, "Time");
11
- const downbtntext = render_value(all_langs, "Download");
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 = render_value(all_langs, "Download");
10
+ const downbtntext = render_lang(all_langs, "Download");
11
11
  ---
12
12
 
13
13
  <div class="flex flex-col gap-5">
@@ -8,6 +8,7 @@
8
8
  * @email chaegumi@jeawin.com
9
9
  * @filesource
10
10
  */
11
+ import * as cheerio from "cheerio";
11
12
  import JeawinApi from "../scripts/cms.js";
12
13
  import { render_value } from "../scripts/util.js";
13
14
  const {
@@ -21,7 +22,7 @@ const {
21
22
  field_array,
22
23
  max_width_screen = 'max-w-screen-2xl'
23
24
  } = Astro.props;
24
- const { jeawin_apikey, jeawin_api_domain, jeawin_api_path } = Astro.locals;
25
+ const { jeawin_apikey, jeawin_api_domain, jeawin_api_path, base } = Astro.locals;
25
26
  // console.log(field_array);
26
27
  const jeawinapi = new JeawinApi({
27
28
  apikey: jeawin_apikey,
@@ -35,6 +36,19 @@ const filter_links = await jeawinapi.get_filter_links({
35
36
  node_id: node_id,
36
37
  field_array: field_array,
37
38
  });
39
+
40
+ // 预览地址的url要处理
41
+ let html1 = filter_links;
42
+
43
+ if(base){
44
+ // 是预览地址
45
+ const $ = cheerio.load(filter_links);
46
+ $('a').each(function(i, el){
47
+ $(this).attr('href', base+$(this).attr('href'));
48
+ });
49
+
50
+ html1 = $.html();
51
+ }
38
52
  ---
39
53
 
40
54
  <div class:list={[max_width_screen, "mx-auto"]}>
@@ -8,12 +8,26 @@
8
8
  * @email chaegumi@jeawin.com
9
9
  * @filesource
10
10
  */
11
+ import * as cheerio from "cheerio";
11
12
  const {html, max_width_screen = 'max-w-screen-2xl'} = Astro.props;
13
+ // 预览地址的url要处理
14
+ let html1 = html;
15
+ const {base} = Astro.locals;
16
+ if(base){
17
+ // 是预览地址
18
+ const $ = cheerio.load(html);
19
+ $('a').each(function(i, el){
20
+ $(this).attr('href', base+$(this).attr('href'));
21
+ });
22
+
23
+ html1 = $.html();
24
+ }
25
+
12
26
  ---
13
27
  {html ? (
14
28
  <div class:list={[max_width_screen, "mx-auto"]}>
15
29
  <div class="px-4">
16
- <Fragment set:html={html} />
30
+ <Fragment set:html={html1} />
17
31
  </div>
18
32
  </div>
19
33
 
@@ -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={render_value(all_langs, "Powered by")} /></div>
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={render_value(all_langs, "Powered by")} /></div>
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 = render_value(all_langs, "send message");
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="">{render_value(all_langs, "Chooce One")}</option>
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 = render_value(all_langs, "friendlinks");
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={render_value(all_langs, "Enter your email")}
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
- {render_value(all_langs, "Subscribe")}
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={render_value(all_langs, "Enter your email")}
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
- {render_value(all_langs, "Subscribe")}
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 = render_value(all_langs, "product");
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="mx-auto md:m-0"
29
+ class_str={`mx-auto md:m-0 ${logo_class}`}
28
30
  is_lcp="1"
29
31
  />
30
32
  ) : (
31
- <DefaultImage class="mx-auto md:m-0" />
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: render_value(all_langs, "Enter your email"),
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
- >{render_value(all_langs, "Subscribe")}</button
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={render_value(all_langs, "Enter your email")}
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
- {render_value(all_langs, "Subscribe")}
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={render_value(all_langs, "Enter your email")}
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
- {render_value(all_langs, "Subscribe")}
64
+ {render_lang(all_langs, "Subscribe")}
65
65
  </button>
66
66
  </form>
67
67
  <div class="mt-3 text-[15px] text-gray-400">