spoko-design-system 1.0.0 → 1.0.1
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/.astro/data-store.json +1 -1
- package/.astro/settings.json +1 -1
- package/.claude/settings.local.json +11 -1
- package/.vscode/extensions.json +0 -1
- package/.vscode/settings.json +0 -4
- package/CHANGELOG.md +8 -0
- package/README.md +19 -3
- package/astro.config.mjs +0 -2
- package/icon.config.ts +32 -2
- package/package.json +7 -9
- package/src/components/Category/CategoriesCarousel.astro +2 -3
- package/src/components/Category/CategoryDetails.astro +4 -5
- package/src/components/Faq.astro +1 -2
- package/src/components/Header/Header.astro +33 -33
- package/src/components/Headline.vue +24 -4
- package/src/components/Product/ProductLink.astro +7 -12
- package/src/components/ProductTile.astro +1 -2
- package/src/layouts/Layout.astro +0 -3
- package/src/layouts/MainLayout.astro +0 -3
- package/src/pages/components/buttons.mdx +0 -1
- package/src/pages/components/hand-drive.mdx +0 -27
- package/src/pages/index.astro +170 -39
- package/src/utils/category/getMainCategoryList.ts +8 -17
- package/src/utils/product/getPriceFormatted.ts +6 -9
- package/src/utils/product/getProductChecklist.ts +1 -2
- package/src/utils/text/formatLocaleNumber.ts +2 -3
- package/uno-config/index.ts +13 -19
- package/.astro/icon.d.ts +0 -11909
- package/astro-i18next.config.mjs +0 -18
- package/astro-i18next.config.ts +0 -11
- package/public/locales/en/translation.json +0 -13
- package/public/locales/pl/translation.json +0 -13
package/.astro/data-store.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.13.
|
|
1
|
+
[["Map",1,2],"meta::meta",["Map",3,4,5,6],"astro-version","5.13.10","astro-config-digest","{\"root\":{},\"srcDir\":{},\"publicDir\":{},\"outDir\":{},\"cacheDir\":{},\"site\":\"https://sds.spoko.space/\",\"compressHTML\":true,\"base\":\"/\",\"trailingSlash\":\"ignore\",\"output\":\"static\",\"scopedStyleStrategy\":\"attribute\",\"build\":{\"format\":\"directory\",\"client\":{},\"server\":{},\"assets\":\"_astro\",\"serverEntry\":\"entry.mjs\",\"redirects\":true,\"inlineStylesheets\":\"auto\",\"concurrency\":1},\"server\":{\"open\":false,\"host\":false,\"port\":1234,\"streaming\":true,\"allowedHosts\":[]},\"redirects\":{},\"image\":{\"endpoint\":{\"route\":\"/_image\"},\"service\":{\"entrypoint\":\"astro/assets/services/sharp\",\"config\":{}},\"domains\":[\"placehold.co\",\"api.polo.blue\",\"polo.blue\",\"media.istockphoto.com\",\"freepik.com\",\"img.freepik.com\",\"polo6r.pl\"],\"remotePatterns\":[],\"responsiveStyles\":false},\"devToolbar\":{\"enabled\":true},\"markdown\":{\"syntaxHighlight\":{\"type\":\"shiki\",\"excludeLangs\":[\"math\"]},\"shikiConfig\":{\"langs\":[],\"langAlias\":{},\"theme\":\"github-dark\",\"themes\":{},\"wrap\":false,\"transformers\":[]},\"remarkPlugins\":[],\"rehypePlugins\":[],\"remarkRehype\":{},\"gfm\":true,\"smartypants\":true},\"security\":{\"checkOrigin\":true},\"env\":{\"schema\":{},\"validateSecrets\":false},\"experimental\":{\"clientPrerender\":false,\"contentIntellisense\":false,\"headingIdCompat\":false,\"preserveScriptOrder\":false,\"liveContentCollections\":false,\"csp\":false,\"staticImportMetaEnv\":false,\"chromeDevtoolsWorkspace\":false},\"legacy\":{\"collections\":false}}"]
|
package/.astro/settings.json
CHANGED
|
@@ -5,7 +5,17 @@
|
|
|
5
5
|
"Bash(npm run dev:*)",
|
|
6
6
|
"Bash(tasklist)",
|
|
7
7
|
"Bash(findstr:*)",
|
|
8
|
-
"Bash(git add:*)"
|
|
8
|
+
"Bash(git add:*)",
|
|
9
|
+
"Bash(npm install:*)",
|
|
10
|
+
"Bash(pnpm add:*)",
|
|
11
|
+
"Bash(pnpm i:*)",
|
|
12
|
+
"Bash(pnpm install:*)",
|
|
13
|
+
"Bash(pnpm dev:*)",
|
|
14
|
+
"Bash(node:*)",
|
|
15
|
+
"WebFetch(domain:polo.blue)",
|
|
16
|
+
"Bash(git commit:*)",
|
|
17
|
+
"Bash(git push:*)",
|
|
18
|
+
"Bash(pnpm run:*)"
|
|
9
19
|
],
|
|
10
20
|
"deny": [],
|
|
11
21
|
"ask": []
|
package/.vscode/extensions.json
CHANGED
package/.vscode/settings.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
## [1.0.1](https://github.com/polo-blue/sds/compare/v1.0.0...v1.0.1) (2025-09-23)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* improve design system and add icon collections documentation ([007c465](https://github.com/polo-blue/sds/commit/007c46522f48bad8d0a04fbe811066edf6c3c78f))
|
|
6
|
+
* remove invalid vscode-icons to resolve build errors ([ab1fea5](https://github.com/polo-blue/sds/commit/ab1fea51182b35159953ae0005bb8c226fe14e9d))
|
|
7
|
+
* update icons and improve UnoCSS extractor ([aca7861](https://github.com/polo-blue/sds/commit/aca786103a56f5a180a15d6db044068bab596f62))
|
|
8
|
+
|
|
1
9
|
## 1.0.0 (2025-09-23)
|
|
2
10
|
|
|
3
11
|
### Features
|
package/README.md
CHANGED
|
@@ -39,15 +39,14 @@ Most of the components from this repository can be seen in my projects:
|
|
|
39
39
|
- https://polo6r.pl
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
###
|
|
42
|
+
### Features
|
|
43
43
|
- ⚡️[Vue 3](https://github.com/vuejs/core), [Vite](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/) - born with fastness
|
|
44
44
|
- 🎨 [UnoCSS](https://github.com/antfu/unocss) - the instant on-demand atomic CSS engine
|
|
45
45
|
- 😃 [astro-icon](https://github.com/natemoo-re/astro-icon) - for local icons, sprites and `@iconify-json/*` sets
|
|
46
46
|
- 🍔 [astro-navbar](https://github.com/surjithctly/astro-navbar) - fully responsive and accessible headless navigation bar
|
|
47
|
-
- 🌍 [astro-i18next](https://github.com/yassinedoghri/astro-i18next) - Astro integration of i18next
|
|
48
47
|
- 🔎 [astro-pagefind](https://github.com/shishkin/astro-pagefind) - Astro integration for Pagefind static site search
|
|
49
48
|
- 🗒 [astrojs/mdx](https://github.com/withastro/astro/tree/main/packages/integrations/mdx/) - markdown support
|
|
50
|
-
- 📦 [
|
|
49
|
+
- 📦 [Playform compression](https://github.com/Playform/compress) - compression utilities to your Astro project
|
|
51
50
|
- 📲 [PWA](https://github.com/vite-pwa/astro) - Zero-config PWA Integration for Astro
|
|
52
51
|
- 🏷️ [astro-meta-tags](https://github.com/patrick91/astro-meta-tags) - Meta Tags inside for Astro Dev Toolbar
|
|
53
52
|
- 🖨 Static-site generation (SSG)
|
|
@@ -55,6 +54,23 @@ Most of the components from this repository can be seen in my projects:
|
|
|
55
54
|
- 🌠 [View Transitions API](https://docs.astro.build/en/guides/view-transitions/#full-site-view-transitions-spa-mode) - [View Transition API](https://developer.mozilla.org/en-US/docs/Web/API/Document/startViewTransition) - makes it easy to change the DOM in a single step, while creating an animated transition between the two states. It's available in Chrome 111+ ([more details](https://developer.chrome.com/docs/web-platform/view-transitions?hl=en))
|
|
56
55
|
- ☁️ Deploy on Netlify
|
|
57
56
|
|
|
57
|
+
### Icon Collections
|
|
58
|
+
|
|
59
|
+
The design system includes carefully curated icon collections from Iconify:
|
|
60
|
+
|
|
61
|
+
- 🎨 [Material Design Icons](https://icon-sets.iconify.design/mdi/) - comprehensive icon set for UI elements
|
|
62
|
+
- 🚗 [Ant Design Icons](https://icon-sets.iconify.design/ant-design/) - clean outlined icons
|
|
63
|
+
- 📱 [Bootstrap Icons](https://icon-sets.iconify.design/bi/) - simple and consistent icons
|
|
64
|
+
- 🎯 [Boxicons](https://icon-sets.iconify.design/bx/) - high quality web icons
|
|
65
|
+
- 🌍 [Carbon Icons](https://icon-sets.iconify.design/carbon/) - IBM's design language icons
|
|
66
|
+
- 🎪 [Lucide Icons](https://icon-sets.iconify.design/lucide/) - beautiful & consistent icon toolkit
|
|
67
|
+
- 🎨 [Streamline Freehand Color](https://icon-sets.iconify.design/streamline-freehand-color/) - hand-drawn style colored icons
|
|
68
|
+
- 📟 [VS Code Icons](https://icon-sets.iconify.design/vscode-icons/) - file type and technology icons
|
|
69
|
+
- 🏢 [Simple Icons](https://icon-sets.iconify.design/simple-icons/) - brand icons for popular services
|
|
70
|
+
- ⚡ [Fluent UI Icons](https://icon-sets.iconify.design/fluent/) - Microsoft's design system icons
|
|
71
|
+
|
|
72
|
+
See the complete list and configuration in [`icon.config.ts`](./icon.config.ts).
|
|
73
|
+
|
|
58
74
|
### Adding new sections
|
|
59
75
|
|
|
60
76
|
Although it's not required, you can create folders for new sections.
|
package/astro.config.mjs
CHANGED
|
@@ -3,7 +3,6 @@ import { iconConfig } from './icon.config';
|
|
|
3
3
|
import vue from "@astrojs/vue";
|
|
4
4
|
import mdx from '@astrojs/mdx';
|
|
5
5
|
import UnoCSS from '@unocss/astro';
|
|
6
|
-
import astroI18next from "astro-i18next";
|
|
7
6
|
import icon from "astro-icon";
|
|
8
7
|
import sitemap from "@astrojs/sitemap";
|
|
9
8
|
import pagefind from "astro-pagefind";
|
|
@@ -28,7 +27,6 @@ export default defineConfig({
|
|
|
28
27
|
// Enable Vue to support Vue3 components
|
|
29
28
|
vue(),
|
|
30
29
|
mdx(),
|
|
31
|
-
astroI18next(),
|
|
32
30
|
AstroPWA({
|
|
33
31
|
mode: 'production',
|
|
34
32
|
base: '/',
|
package/icon.config.ts
CHANGED
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
interface IconConfig {
|
|
4
4
|
include: {
|
|
5
5
|
[key: string]: string[];
|
|
6
|
-
}
|
|
6
|
+
};
|
|
7
|
+
collections?: {
|
|
8
|
+
[key: string]: () => Promise<any>;
|
|
9
|
+
};
|
|
7
10
|
}
|
|
8
11
|
|
|
9
|
-
//
|
|
12
|
+
// List of all supported collections
|
|
10
13
|
export const iconCollections = [
|
|
11
14
|
'ant-design',
|
|
12
15
|
'bi',
|
|
@@ -32,6 +35,8 @@ export const iconCollections = [
|
|
|
32
35
|
'system-uicons',
|
|
33
36
|
'uil',
|
|
34
37
|
'lucide',
|
|
38
|
+
'vscode-icons',
|
|
39
|
+
'streamline-freehand-color',
|
|
35
40
|
] as const;
|
|
36
41
|
|
|
37
42
|
export type IconCollectionName = typeof iconCollections[number];
|
|
@@ -230,6 +235,7 @@ export const iconConfig: IconConfig = {
|
|
|
230
235
|
],
|
|
231
236
|
|
|
232
237
|
"simple-icons": [
|
|
238
|
+
"astro",
|
|
233
239
|
"ebay",
|
|
234
240
|
"allegro",
|
|
235
241
|
"volkswagen",
|
|
@@ -291,7 +297,31 @@ export const iconConfig: IconConfig = {
|
|
|
291
297
|
|
|
292
298
|
'system-uicons': [
|
|
293
299
|
'document-justified'
|
|
300
|
+
],
|
|
301
|
+
|
|
302
|
+
'vscode-icons': [
|
|
303
|
+
'file-type-astro',
|
|
304
|
+
'file-type-unocss',
|
|
305
|
+
'file-type-vue',
|
|
306
|
+
'file-type-typescript',
|
|
307
|
+
'file-type-node',
|
|
308
|
+
'file-type-npm'
|
|
309
|
+
],
|
|
310
|
+
|
|
311
|
+
'streamline-freehand-color': [
|
|
312
|
+
'data-transfer-document-module',
|
|
313
|
+
'design-process-drawing-board',
|
|
314
|
+
'app-window-source-code',
|
|
315
|
+
'app-window-layout',
|
|
316
|
+
'database',
|
|
317
|
+
'module-building-blocks',
|
|
318
|
+
'layouts-array-1',
|
|
319
|
+
'archive-box',
|
|
320
|
+
'donation-charity-donate-box'
|
|
294
321
|
]
|
|
322
|
+
},
|
|
323
|
+
collections: {
|
|
324
|
+
"streamline-freehand-color": () => import("@iconify-json/streamline-freehand-color/icons.json")
|
|
295
325
|
}
|
|
296
326
|
};
|
|
297
327
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spoko-design-system",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "./index.ts",
|
|
6
6
|
"module": "./index.ts",
|
|
@@ -75,8 +75,12 @@
|
|
|
75
75
|
"@iconify-json/octicon": "^1.2.14",
|
|
76
76
|
"@iconify-json/ph": "^1.2.2",
|
|
77
77
|
"@iconify-json/simple-icons": "^1.2.52",
|
|
78
|
+
"@iconify-json/streamline": "^1.2.5",
|
|
79
|
+
"@iconify-json/streamline-emojis": "^1.2.4",
|
|
80
|
+
"@iconify-json/streamline-freehand-color": "^1.2.2",
|
|
78
81
|
"@iconify-json/system-uicons": "^1.2.4",
|
|
79
82
|
"@iconify-json/uil": "^1.2.3",
|
|
83
|
+
"@iconify-json/vscode-icons": "^1.2.2",
|
|
80
84
|
"@iconify/json": "^2.2.386",
|
|
81
85
|
"@iconify/vue": "^5.0.0",
|
|
82
86
|
"@playform/compress": "^0.2.0",
|
|
@@ -90,18 +94,12 @@
|
|
|
90
94
|
"@unocss/reset": "66.5.1",
|
|
91
95
|
"@vite-pwa/astro": "^1.1.0",
|
|
92
96
|
"@vueuse/core": "^13.9.0",
|
|
93
|
-
"astro-i18next": "1.0.0-beta.21",
|
|
94
97
|
"astro-icon": "^1.1.5",
|
|
95
98
|
"astro-meta-tags": "^0.4.0",
|
|
96
99
|
"astro-navbar": "^2.4.0",
|
|
97
100
|
"astro-pagefind": "^1.8.5",
|
|
98
101
|
"astro-remote": "^0.3.4",
|
|
99
102
|
"dotenv": "^17.2.2",
|
|
100
|
-
"i18next": "^25.5.2",
|
|
101
|
-
"i18next-browser-languagedetector": "^8.2.0",
|
|
102
|
-
"i18next-fs-backend": "^2.6.0",
|
|
103
|
-
"i18next-http-backend": "^3.0.2",
|
|
104
|
-
"i18next-vue": "^5.3.0",
|
|
105
103
|
"swiper": "^12.0.2",
|
|
106
104
|
"unocss": "66.5.1",
|
|
107
105
|
"vue": "^3.5.21"
|
|
@@ -133,7 +131,7 @@
|
|
|
133
131
|
]
|
|
134
132
|
},
|
|
135
133
|
"engines": {
|
|
136
|
-
"node": ">=
|
|
137
|
-
"pnpm": ">=
|
|
134
|
+
"node": ">=22.17.0",
|
|
135
|
+
"pnpm": ">=10.16.1"
|
|
138
136
|
}
|
|
139
137
|
}
|
|
@@ -5,7 +5,6 @@ import { getTranslatedLink } from "@utils/text/getTranslatedLink"
|
|
|
5
5
|
import { getMainCategoryList } from "@utils/category/getMainCategoryList"
|
|
6
6
|
import { Image } from 'astro:assets'
|
|
7
7
|
|
|
8
|
-
import i18next, { t } from "i18next";
|
|
9
8
|
const categories = await getMainCategoryList()
|
|
10
9
|
const imgDomain = 'https://api.polo.blue/img/';
|
|
11
10
|
|
|
@@ -50,7 +49,7 @@ const activeIndex = activeCategorySlug && categories ? categories.map(a => a.slu
|
|
|
50
49
|
|
|
51
50
|
<Image
|
|
52
51
|
src={`${imgDomain}${category.photo}`}
|
|
53
|
-
alt={
|
|
52
|
+
alt={category.name}
|
|
54
53
|
height="70"
|
|
55
54
|
width="70"
|
|
56
55
|
format="avif"
|
|
@@ -63,7 +62,7 @@ const activeIndex = activeCategorySlug && categories ? categories.map(a => a.slu
|
|
|
63
62
|
<div class="cat-name"
|
|
64
63
|
// itemprop="name"
|
|
65
64
|
>
|
|
66
|
-
{
|
|
65
|
+
{ category.name }
|
|
67
66
|
</div>
|
|
68
67
|
</a>
|
|
69
68
|
</swiper-slide>
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import CategorySidebarToggler from './CategorySidebarToggler.vue';
|
|
3
3
|
import CategoryViewToggler from './CategoryViewToggler.astro';
|
|
4
4
|
import { Icon } from 'astro-icon/components';
|
|
5
|
-
import { t } from "i18next";
|
|
6
5
|
|
|
7
6
|
const {
|
|
8
7
|
category,
|
|
@@ -15,7 +14,7 @@ const {
|
|
|
15
14
|
viewerLabels
|
|
16
15
|
} = Astro.props;
|
|
17
16
|
|
|
18
|
-
const baseURL =
|
|
17
|
+
const baseURL = '';
|
|
19
18
|
---
|
|
20
19
|
|
|
21
20
|
<div
|
|
@@ -58,7 +57,7 @@ const baseURL = locale === 'en' ? '' : `/${locale}`;
|
|
|
58
57
|
<span class="text-neutral-lighter text-lg inline-block px-1 font-headlight">/</span>
|
|
59
58
|
{!subsubtitle ? (
|
|
60
59
|
<h1 class="text-lg py-2.5 sm:py-0 whitespace-nowrap underline underline-offset-6 decoration-blue-300 decoration-0.5">
|
|
61
|
-
{subtitle} <span class="sr-only">
|
|
60
|
+
{subtitle} <span class="sr-only"> catalog</span>
|
|
62
61
|
</h1>
|
|
63
62
|
) : (
|
|
64
63
|
<>
|
|
@@ -69,7 +68,7 @@ const baseURL = locale === 'en' ? '' : `/${locale}`;
|
|
|
69
68
|
</div>
|
|
70
69
|
<span class="text-neutral-lighter text-lg inline-block px-1 font-headlight">/</span>
|
|
71
70
|
<h1 class="text-lg py-2.5 sm:py-0 whitespace-nowrap underline underline-offset-6 decoration-blue-300 decoration-0.5">
|
|
72
|
-
{subsubtitle} <span class="sr-only">
|
|
71
|
+
{subsubtitle} <span class="sr-only"> catalog</span>
|
|
73
72
|
</h1>
|
|
74
73
|
</>
|
|
75
74
|
)}
|
|
@@ -78,7 +77,7 @@ const baseURL = locale === 'en' ? '' : `/${locale}`;
|
|
|
78
77
|
<h1 class="text-lg py-2.5 sm:py-0 whitespace-nowrap">
|
|
79
78
|
{category.name}
|
|
80
79
|
{titleSmall && <small>{titleSmall}</small>}
|
|
81
|
-
<span class="sr-only">
|
|
80
|
+
<span class="sr-only"> catalog</span>
|
|
82
81
|
</h1>
|
|
83
82
|
)}
|
|
84
83
|
</div>
|
package/src/components/Faq.astro
CHANGED
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import {t } from "i18next"
|
|
10
9
|
import FaqItem from "../components/FaqItem.astro"
|
|
11
10
|
|
|
12
11
|
interface Props {
|
|
@@ -22,7 +21,7 @@ const { questions } = Astro.props
|
|
|
22
21
|
|
|
23
22
|
<div class="flex flex-col mt-6 mb-4 w-full px-4 md:px-0" itemscope itemtype="https://schema.org/FAQPage" >
|
|
24
23
|
<div class="mb-6 text-4xl font-headbold sm:text-4xl text-blue-802 faq-heading">
|
|
25
|
-
|
|
24
|
+
Frequently Asked Questions
|
|
26
25
|
</div>
|
|
27
26
|
<div class="flex flex-col divide-y dark:divide-gray-700">
|
|
28
27
|
{
|
|
@@ -69,32 +69,32 @@ import Search from "astro-pagefind/components/Search";
|
|
|
69
69
|
@apply font-textlight text-base;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
.pagefind-ui__search-input {
|
|
73
|
-
height: 40px
|
|
72
|
+
.pagefind-ui .pagefind-ui__search-input {
|
|
73
|
+
height: 40px;
|
|
74
74
|
border: 0;
|
|
75
|
-
@apply rounded-none sm:rounded-3xl
|
|
75
|
+
@apply rounded-none sm:rounded-3xl w-full;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
.pagefind-ui__result-excerpt,
|
|
79
|
-
.pagefind-ui__button {
|
|
80
|
-
font-size: 14px
|
|
78
|
+
.pagefind-ui .pagefind-ui__result-excerpt,
|
|
79
|
+
.pagefind-ui .pagefind-ui__button {
|
|
80
|
+
font-size: 14px;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
.pagefind-ui__filter-name {
|
|
84
|
-
font-size: 12px
|
|
83
|
+
.pagefind-ui .pagefind-ui__filter-name {
|
|
84
|
+
font-size: 12px;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
.pagefind-ui__drawer:not(.pagefind-ui__hidden) {
|
|
87
|
+
.pagefind-ui .pagefind-ui__drawer:not(.pagefind-ui__hidden) {
|
|
88
88
|
@apply p-4;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
.pagefind-ui__result-link {
|
|
91
|
+
.pagefind-ui .pagefind-ui__result-link {
|
|
92
92
|
color: var(--pagefind-ui-primary);
|
|
93
93
|
font-family: vw_headlight;
|
|
94
94
|
font-size: 1rem;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
.pagefind-ui__result-link::before {
|
|
97
|
+
.pagefind-ui .pagefind-ui__result-link::before {
|
|
98
98
|
top: 0;
|
|
99
99
|
bottom: 0;
|
|
100
100
|
left: 0;
|
|
@@ -103,107 +103,107 @@ import Search from "astro-pagefind/components/Search";
|
|
|
103
103
|
position: absolute;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
.pagefind-ui__result-excerpt {
|
|
106
|
+
.pagefind-ui .pagefind-ui__result-excerpt {
|
|
107
107
|
color: var(--pagefind-ui-text);
|
|
108
108
|
order: 3;
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
-
.pagefind-ui__drawer {
|
|
111
|
+
.pagefind-ui .pagefind-ui__drawer {
|
|
112
112
|
@apply bg-white md:fixed shadow-lg rounded-b-lg border-t border-t-transparent overflow-auto top-17 md:max-w-[calc(100vw-10%)] max-h-[calc(100vh-10%)] gap-[30px];
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
.pagefind-ui__search-clear {
|
|
115
|
+
.pagefind-ui .pagefind-ui__search-clear {
|
|
116
116
|
height: 38px;
|
|
117
117
|
top: 0;
|
|
118
118
|
@apply sm:rounded-3xl;
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
.pagefind-ui__search-input {
|
|
121
|
+
.pagefind-ui .pagefind-ui__search-input {
|
|
122
122
|
font-size: 1rem;
|
|
123
123
|
font-weight: 400;
|
|
124
124
|
padding: 0 2.5rem 2px;
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
-
.pagefind-ui__form::before {
|
|
127
|
+
.pagefind-ui .pagefind-ui__form::before {
|
|
128
128
|
top: 14px;
|
|
129
129
|
left: 16px;
|
|
130
130
|
width: 14px;
|
|
131
131
|
height: 14px;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
.pagefind-ui__result {
|
|
134
|
+
.pagefind-ui .pagefind-ui__result {
|
|
135
135
|
padding: 0.875rem 0;
|
|
136
136
|
gap: 1rem;
|
|
137
137
|
@apply relative;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
.pagefind-ui__filter-block {
|
|
140
|
+
.pagefind-ui .pagefind-ui__filter-block {
|
|
141
141
|
padding: 0.875rem 0;
|
|
142
142
|
border-width: 1px;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
.pagefind-ui__filter-group {
|
|
145
|
+
.pagefind-ui .pagefind-ui__filter-group {
|
|
146
146
|
gap: 0.5rem;
|
|
147
147
|
padding-top: 0.875rem;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
.pagefind-ui__filter-value {
|
|
150
|
+
.pagefind-ui .pagefind-ui__filter-value {
|
|
151
151
|
gap: 10px;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
.pagefind-ui__filter-checkbox {
|
|
154
|
+
.pagefind-ui .pagefind-ui__filter-checkbox {
|
|
155
155
|
border-radius: 3px;
|
|
156
156
|
margin-top: 1px;
|
|
157
157
|
min-width: calc(16px * var(--pagefind-ui-scale));
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
.pagefind-ui__result-image {
|
|
160
|
+
.pagefind-ui .pagefind-ui__result-image {
|
|
161
161
|
@apply drop-shadow-sm w-full h-full object-contain rounded-none;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
.pagefind-ui__filter-panel {
|
|
164
|
+
.pagefind-ui .pagefind-ui__filter-panel {
|
|
165
165
|
@apply hidden;
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
.pagefind-ui__filter-label {
|
|
168
|
+
.pagefind-ui .pagefind-ui__filter-label {
|
|
169
169
|
font-size: 0.9rem;
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
-
.pagefind-ui__button {
|
|
172
|
+
.pagefind-ui .pagefind-ui__button {
|
|
173
173
|
font-weight: 400;
|
|
174
174
|
height: 40px;
|
|
175
175
|
}
|
|
176
176
|
|
|
177
|
-
.pagefind-ui__result-tag {
|
|
177
|
+
.pagefind-ui .pagefind-ui__result-tag {
|
|
178
178
|
background: inherit;
|
|
179
179
|
padding: 0;
|
|
180
180
|
color: #9ca3af;
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
.pagefind-ui__result-thumb {
|
|
183
|
+
.pagefind-ui .pagefind-ui__result-thumb {
|
|
184
184
|
max-width: 120px;
|
|
185
185
|
}
|
|
186
186
|
|
|
187
|
-
.pagefind-ui__result-tags {
|
|
187
|
+
.pagefind-ui .pagefind-ui__result-tags {
|
|
188
188
|
margin-top: 0.4rem;
|
|
189
189
|
order: 2;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
-
.pagefind-ui__filter-name::after {
|
|
192
|
+
.pagefind-ui .pagefind-ui__filter-name::after {
|
|
193
193
|
color: var(--pagefind-ui-primary);
|
|
194
194
|
}
|
|
195
195
|
|
|
196
|
-
.pagefind-ui__result-title {
|
|
196
|
+
.pagefind-ui .pagefind-ui__result-title {
|
|
197
197
|
font-size: inherit;
|
|
198
198
|
line-height: 1;
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
.pagefind-ui__filter-panel,
|
|
202
|
-
.pagefind-ui__results-area {
|
|
201
|
+
.pagefind-ui .pagefind-ui__filter-panel,
|
|
202
|
+
.pagefind-ui .pagefind-ui__results-area {
|
|
203
203
|
margin-top: 0;
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
.pagefind-ui__message {
|
|
206
|
+
.pagefind-ui .pagefind-ui__message {
|
|
207
207
|
padding: 0.875rem 0;
|
|
208
208
|
}
|
|
209
209
|
|
|
@@ -23,7 +23,7 @@ const props = defineProps({
|
|
|
23
23
|
default: 'regular'
|
|
24
24
|
},
|
|
25
25
|
underline: {
|
|
26
|
-
type: Boolean,
|
|
26
|
+
type: [Boolean, String] as PropType<boolean | 'center'>,
|
|
27
27
|
required: false,
|
|
28
28
|
default: false
|
|
29
29
|
}
|
|
@@ -61,8 +61,8 @@ const typographyClass = getTypographyClass()
|
|
|
61
61
|
</script>
|
|
62
62
|
|
|
63
63
|
<template>
|
|
64
|
-
<component :is="props.as" class="mb-2.5
|
|
65
|
-
:class="`${typographyClass} ${props.textSize ? `text-${props.textSize}` : 'text-xl'} ${props.underline ? 'headline--underline' : ''}`">
|
|
64
|
+
<component :is="props.as" class="mb-2.5 leading-none"
|
|
65
|
+
:class="`${typographyClass} ${props.textSize ? `text-${props.textSize}` : 'text-xl'} ${props.underline === true ? 'headline--underline' : ''} ${props.underline === 'center' ? 'headline--underline-center block text-center' : 'flex sm:block md:flex items-center'}`">
|
|
66
66
|
<slot />
|
|
67
67
|
</component>
|
|
68
68
|
</template>
|
|
@@ -82,7 +82,27 @@ const typographyClass = getTypographyClass()
|
|
|
82
82
|
@apply content-empty absolute left-0 bottom-px h-px;
|
|
83
83
|
width: 95%;
|
|
84
84
|
max-width: 255px;
|
|
85
|
-
background-color: #64748b
|
|
85
|
+
background-color: #64748b;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.headline--underline-center {
|
|
90
|
+
@apply relative pb-4;
|
|
91
|
+
|
|
92
|
+
&:before {
|
|
93
|
+
@apply content-empty absolute left-1/2 bottom-px h-px;
|
|
94
|
+
width: 95%;
|
|
95
|
+
max-width: 255px;
|
|
96
|
+
background-color: #64748b;
|
|
97
|
+
transform: translateX(-50%);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&:after {
|
|
101
|
+
@apply content-empty absolute bottom-0;
|
|
102
|
+
height: 3px;
|
|
103
|
+
width: 55px;
|
|
104
|
+
background-color: var(--clr-primary-400);
|
|
105
|
+
left: calc(50% - min(47.5%, 127.5px));
|
|
86
106
|
}
|
|
87
107
|
}
|
|
88
108
|
</style>
|
|
@@ -27,7 +27,6 @@ import { getProductUrl } from "@utils/product/getProductUrl";
|
|
|
27
27
|
import { getShopProductUrl } from "@utils/product/getShopProductUrl";
|
|
28
28
|
import { getProductTranslation } from "@utils/product/getProductTranslation";
|
|
29
29
|
import { getImageUrl } from '@utils/getImageUrl';
|
|
30
|
-
import i18next, { t } from "i18next";
|
|
31
30
|
import { ProductImage, ProductNumber, removeSemicolon, getPriceFormatted } from "spoko-design-system";
|
|
32
31
|
|
|
33
32
|
// Użycie productObject jeśli przekazane, inaczej pobranie produktu na podstawie productId
|
|
@@ -40,18 +39,14 @@ const thumb = product ? (
|
|
|
40
39
|
: await getImageUrl(product.photo || "", `'ProductLink' ${product.number}`)
|
|
41
40
|
) : "";
|
|
42
41
|
|
|
43
|
-
//
|
|
44
|
-
const productTranslation =
|
|
45
|
-
? null
|
|
46
|
-
: productId ? await getProductTranslation(productId, product?.number || "") : null;
|
|
42
|
+
// Product translation removed - using English only
|
|
43
|
+
const productTranslation = productId ? await getProductTranslation(productId, product?.number || "") : null;
|
|
47
44
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const productName = product.name || 'NO NAME';
|
|
45
|
+
const productName = product ? (
|
|
46
|
+
isShopProduct
|
|
47
|
+
? product.name_en || product.name
|
|
48
|
+
: productTranslation?.name || product.name
|
|
49
|
+
) : 'NO NAME';
|
|
55
50
|
|
|
56
51
|
const nameFormatted = removeSemicolon(productName.toString());
|
|
57
52
|
---
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
const { productObject, locale, index } = Astro.props;
|
|
3
3
|
import Image from "./Image.astro"
|
|
4
4
|
import ProductNumber from "./Product/ProductNumber.astro"
|
|
5
|
-
import { t } from "i18next";
|
|
6
5
|
---
|
|
7
6
|
|
|
8
7
|
{ productObject &&
|
|
@@ -36,7 +35,7 @@ import { t } from "i18next";
|
|
|
36
35
|
{ productObject.name }
|
|
37
36
|
</a>
|
|
38
37
|
|
|
39
|
-
<ProductNumber productNumber={productObject.number} copyDisabled={false} buttonTexts={{ copy:
|
|
38
|
+
<ProductNumber productNumber={productObject.number} copyDisabled={false} buttonTexts={{ copy: 'Copy', copied: 'Copied' }} />
|
|
40
39
|
|
|
41
40
|
{ index !== null &&
|
|
42
41
|
( <meta itemprop="position" content={String(index)} />
|
package/src/layouts/Layout.astro
CHANGED
|
@@ -3,11 +3,8 @@ import HeadCommon from "./partials/HeadCommon.astro";
|
|
|
3
3
|
import FooterCommon from "./partials/FooterCommon.astro";
|
|
4
4
|
import HeadSEO from "../layouts/partials/HeadSEO.astro";
|
|
5
5
|
import * as CONFIG from "../config";
|
|
6
|
-
import { t, changeLanguage } from "i18next";
|
|
7
6
|
import "../styles/main.css";
|
|
8
7
|
import Copyright from "../components/Copyright.astro";
|
|
9
|
-
const locale = "en";
|
|
10
|
-
changeLanguage(locale);
|
|
11
8
|
const { content = {} } = Astro.props;
|
|
12
9
|
const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
|
|
13
10
|
---
|
|
@@ -5,11 +5,8 @@ import Header from "../components/Header/Header.astro";
|
|
|
5
5
|
import PageContent from "../components/PageContent.astro";
|
|
6
6
|
import LeftSidebar from "../components/LeftSidebar.astro";
|
|
7
7
|
import * as CONFIG from "../config";
|
|
8
|
-
import { t, changeLanguage } from "i18next";
|
|
9
8
|
import "../styles/main.css";
|
|
10
9
|
import Copyright from "../components/Copyright.astro";
|
|
11
|
-
const locale = "en";
|
|
12
|
-
changeLanguage(locale);
|
|
13
10
|
const { content = {} } = Astro.props;
|
|
14
11
|
const currentPage = Astro.url.pathname;
|
|
15
12
|
const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
|