spoko-design-system 1.1.1 → 1.1.2

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 (110) hide show
  1. package/.claude/settings.local.json +2 -1
  2. package/.github/workflows/code-quality.yml +3 -3
  3. package/.prettierrc +1 -0
  4. package/CHANGELOG.md +6 -0
  5. package/package.json +8 -2
  6. package/src/MyComponent.astro +1 -1
  7. package/src/components/Badge.vue +2 -2
  8. package/src/components/Badges.vue +17 -7
  9. package/src/components/Breadcrumbs.vue +47 -39
  10. package/src/components/Button.vue +31 -30
  11. package/src/components/ButtonCopy.astro +12 -17
  12. package/src/components/ButtonCopy.vue +26 -25
  13. package/src/components/Card.astro +4 -6
  14. package/src/components/Carousel.astro +4 -4
  15. package/src/components/Category/CategoriesCarousel.astro +75 -75
  16. package/src/components/Category/CategoryDetails.astro +75 -79
  17. package/src/components/Category/CategoryLink.vue +8 -12
  18. package/src/components/Category/CategorySidebarToggler.vue +2 -7
  19. package/src/components/Category/CategoryTile.astro +3 -3
  20. package/src/components/Category/CategoryViewToggler.astro +18 -18
  21. package/src/components/Category/SubCategoryLink.vue +13 -13
  22. package/src/components/Faq.astro +16 -17
  23. package/src/components/FaqItem.astro +27 -27
  24. package/src/components/FeaturesList.vue +19 -29
  25. package/src/components/FuckRussia.vue +40 -27
  26. package/src/components/HandDrive.astro +11 -15
  27. package/src/components/Header/Header.astro +165 -166
  28. package/src/components/Header/SkipToContent.astro +1 -1
  29. package/src/components/Headline.vue +44 -27
  30. package/src/components/Image.astro +5 -7
  31. package/src/components/Input.vue +143 -153
  32. package/src/components/Jumbotron/index.astro +143 -156
  33. package/src/components/Jumbotron/types.ts +28 -29
  34. package/src/components/Jumbotron/variants/Default.astro +44 -40
  35. package/src/components/Jumbotron/variants/Hero.astro +45 -53
  36. package/src/components/Jumbotron/variants/Post.astro +68 -64
  37. package/src/components/Jumbotron/variants/PostSplit.astro +89 -81
  38. package/src/components/Jumbotron.astro +12 -12
  39. package/src/components/LanguageSuggestion.astro +66 -69
  40. package/src/components/LeftSidebar.astro +10 -10
  41. package/src/components/MainColors.vue +2 -2
  42. package/src/components/MainInput.vue +6 -3
  43. package/src/components/Modal.astro +2 -2
  44. package/src/components/PartNumber.vue +2 -3
  45. package/src/components/Post/PostCategories.astro +2 -4
  46. package/src/components/Post/PostCategories.vue +2 -2
  47. package/src/components/PostHeader.astro +4 -6
  48. package/src/components/PrCode.vue +20 -19
  49. package/src/components/Product/ProductButton.vue +2 -5
  50. package/src/components/Product/ProductCarousel.astro +38 -27
  51. package/src/components/Product/ProductColors.vue +46 -42
  52. package/src/components/Product/ProductDetailName.vue +22 -22
  53. package/src/components/Product/ProductDetails.vue +115 -99
  54. package/src/components/Product/ProductDoc.vue +27 -25
  55. package/src/components/Product/ProductEngineType.vue +13 -10
  56. package/src/components/Product/ProductImage.astro +18 -19
  57. package/src/components/Product/ProductLink.vue +55 -58
  58. package/src/components/Product/ProductLinkInfo.astro +15 -18
  59. package/src/components/Product/ProductModel.vue +25 -24
  60. package/src/components/Product/ProductModels.vue +29 -33
  61. package/src/components/Product/ProductName.vue +15 -15
  62. package/src/components/Product/ProductNumber.astro +23 -31
  63. package/src/components/Product/ProductPositions.vue +32 -34
  64. package/src/components/ProductCarousel.astro +5 -5
  65. package/src/components/ProductCodes.vue +12 -14
  66. package/src/components/ProductDetailName.vue +18 -20
  67. package/src/components/ProductDetailsList.vue +48 -27
  68. package/src/components/Quote.vue +8 -6
  69. package/src/components/ReloadPrompt.astro +39 -47
  70. package/src/components/SlimBanner.vue +44 -19
  71. package/src/components/Table.vue +4 -6
  72. package/src/components/Translations.vue +17 -8
  73. package/src/components/flags/FlagPL.vue +4 -3
  74. package/src/components/flags/FlagUA.vue +2 -2
  75. package/src/components/layout/CallToAction.astro +17 -12
  76. package/src/components/layout/Container.astro +3 -1
  77. package/src/components/layout/Header.astro +12 -21
  78. package/src/config.ts +43 -43
  79. package/src/design.config.ts +63 -63
  80. package/src/env.d.ts +4 -4
  81. package/src/layouts/Layout.astro +10 -19
  82. package/src/layouts/MainLayout.astro +13 -19
  83. package/src/layouts/partials/FooterCommon.astro +2 -2
  84. package/src/layouts/partials/HeadCommon.astro +9 -9
  85. package/src/layouts/partials/HeadSEO.astro +12 -5
  86. package/src/pages/components/icons.astro +130 -121
  87. package/src/pages/core/shadows.astro +18 -11
  88. package/src/pages/index.astro +178 -75
  89. package/src/pwa.ts +4 -4
  90. package/src/styles/base/base.css +14 -19
  91. package/src/styles/base/grid.css +54 -58
  92. package/src/styles/base/typography.css +40 -40
  93. package/src/styles/content.css +25 -23
  94. package/src/styles/main.css +5 -6
  95. package/src/types/Product.ts +31 -31
  96. package/src/types/astro.d.ts +1 -1
  97. package/src/types/index.ts +234 -237
  98. package/src/utils/api/getCategories.ts +9 -9
  99. package/src/utils/category/getMainCategoryList.ts +22 -22
  100. package/src/utils/category/getSortedCategories.ts +7 -11
  101. package/src/utils/product/getPriceFormatted.ts +14 -11
  102. package/src/utils/product/getProductChecklist.ts +10 -11
  103. package/src/utils/product/useFormatProductNumber.ts +18 -9
  104. package/src/utils/seo/getShorterDescription.ts +6 -4
  105. package/src/utils/text/formatDate.ts +2 -3
  106. package/src/utils/text/formatLocaleNumber.ts +2 -2
  107. package/src/utils/text/formatPad.ts +2 -2
  108. package/src/utils/text/getNumberFormatted.ts +10 -10
  109. package/src/utils/text/getTranslatedLink.ts +3 -3
  110. package/src/utils/text.ts +11 -8
package/src/config.ts CHANGED
@@ -1,56 +1,56 @@
1
1
  export const SITE = {
2
- title: "Spoko Design System",
3
- description: "The Astro design system which facilitates the development of websites.",
4
- defaultLanguage: "en_US",
5
- twitter: "@spokospace",
6
- github: "spokospace",
7
- linkedin: "szymonberski",
2
+ title: 'Spoko Design System',
3
+ description: 'The Astro design system which facilitates the development of websites.',
4
+ defaultLanguage: 'en_US',
5
+ twitter: '@spokospace',
6
+ github: 'spokospace',
7
+ linkedin: 'szymonberski',
8
8
  };
9
9
 
10
10
  export const OPEN_GRAPH = {
11
11
  image: {
12
- src: "",
13
- alt: "",
12
+ src: '',
13
+ alt: '',
14
14
  },
15
- twitter: "",
15
+ twitter: '',
16
16
  };
17
17
 
18
18
  export const SIDEBAR = [
19
- { text: "Core", header: true },
20
- { text: "Introduction", link: "/core/introduction/" },
21
- { text: "Colors", link: "/core/colors/" },
22
- { text: "Typography", link: "/core/typography/" },
23
- { text: "Shadows", link: "/core/shadows/" },
24
- { text: "Grid", link: "/core/grid/" },
19
+ { text: 'Core', header: true },
20
+ { text: 'Introduction', link: '/core/introduction/' },
21
+ { text: 'Colors', link: '/core/colors/' },
22
+ { text: 'Typography', link: '/core/typography/' },
23
+ { text: 'Shadows', link: '/core/shadows/' },
24
+ { text: 'Grid', link: '/core/grid/' },
25
25
 
26
- { text: "Components", header: true },
27
- { text: "Badges", link: "/components/badges/" },
28
- { text: "Breadcrumbs", link: "/components/breadcrumbs/" },
29
- { text: "Buttons", link: "/components/buttons/" },
30
- { text: "Card", link: "/components/card/" },
31
- { text: "Carousel", link: "/components/carousel/" },
32
- { text: "Copyright", link: "/components/copyright/" },
33
- { text: "Details List", link: "/components/details-list/" },
34
- { text: "Features List", link: "/components/features-list/"},
35
- { text: "HandDrive", link: "/components/hand-drive/" },
36
- { text: "Headline", link: "/components/headline/" },
37
- { text: "Icons", link: "/components/icons/" },
38
- { text: "Image", link: "/components/image/" },
39
- { text: "Input", link: "/components/input/" },
40
- { text: "Jumbotron", link: "/components/jumbotron/" },
41
- { text: "Modal", link: "/components/modal/" },
42
- { text: "PostHeader", link: "/components/post-header/" },
43
- { text: "PR-Code", link: "/components/pr-code/" },
44
- { text: "Product Number", link: "/components/product-number/" },
45
- { text: "Product Tile", link: "/components/product-tile/" },
46
- { text: "Quote", link: "/components/quote/" },
47
- { text: "Table", link: "/components/table/" },
26
+ { text: 'Components', header: true },
27
+ { text: 'Badges', link: '/components/badges/' },
28
+ { text: 'Breadcrumbs', link: '/components/breadcrumbs/' },
29
+ { text: 'Buttons', link: '/components/buttons/' },
30
+ { text: 'Card', link: '/components/card/' },
31
+ { text: 'Carousel', link: '/components/carousel/' },
32
+ { text: 'Copyright', link: '/components/copyright/' },
33
+ { text: 'Details List', link: '/components/details-list/' },
34
+ { text: 'Features List', link: '/components/features-list/' },
35
+ { text: 'HandDrive', link: '/components/hand-drive/' },
36
+ { text: 'Headline', link: '/components/headline/' },
37
+ { text: 'Icons', link: '/components/icons/' },
38
+ { text: 'Image', link: '/components/image/' },
39
+ { text: 'Input', link: '/components/input/' },
40
+ { text: 'Jumbotron', link: '/components/jumbotron/' },
41
+ { text: 'Modal', link: '/components/modal/' },
42
+ { text: 'PostHeader', link: '/components/post-header/' },
43
+ { text: 'PR-Code', link: '/components/pr-code/' },
44
+ { text: 'Product Number', link: '/components/product-number/' },
45
+ { text: 'Product Tile', link: '/components/product-tile/' },
46
+ { text: 'Quote', link: '/components/quote/' },
47
+ { text: 'Table', link: '/components/table/' },
48
48
 
49
- { text: "Extras", header: true },
50
- { text: "Flags", link: "/components/flags/" },
51
- { text: "SlimBanner", link: "/components/slimbanner/" },
52
- { text: "FuckRussia", link: "/components/fuck-russia/" },
49
+ { text: 'Extras', header: true },
50
+ { text: 'Flags', link: '/components/flags/' },
51
+ { text: 'SlimBanner', link: '/components/slimbanner/' },
52
+ { text: 'FuckRussia', link: '/components/fuck-russia/' },
53
53
 
54
- { text: "Patterns", header: true },
55
- { text: "Introduction", link: "/patterns/introduction/" },
54
+ { text: 'Patterns', header: true },
55
+ { text: 'Introduction', link: '/patterns/introduction/' },
56
56
  ];
@@ -1,99 +1,99 @@
1
1
  export const COLORS = {
2
2
  // Brand Colors
3
3
  brand: [
4
- { name: "primary", value: "#0040c5" },
5
- { name: "secondary", value: "#00b0f0" }
4
+ { name: 'primary', value: '#0040c5' },
5
+ { name: 'secondary', value: '#00b0f0' },
6
6
  ],
7
7
 
8
- // Primary Blues
8
+ // Primary Blues
9
9
  blue: [
10
- { name: "ultralight", value: "#dbeafe" },
11
- { name: "lightest", value: "#3b82f6" },
12
- { name: "light", value: "#0069ff" },
13
- { name: "default", value: "#005ad7" },
14
- { name: "medium", value: "#02307d" },
15
- { name: "darker", value: "#001e50" },
16
- { name: "darkest", value: "#000f28" },
17
- { name: "wrc", value: "#0000c8" }
10
+ { name: 'ultralight', value: '#dbeafe' },
11
+ { name: 'lightest', value: '#3b82f6' },
12
+ { name: 'light', value: '#0069ff' },
13
+ { name: 'default', value: '#005ad7' },
14
+ { name: 'medium', value: '#02307d' },
15
+ { name: 'darker', value: '#001e50' },
16
+ { name: 'darkest', value: '#000f28' },
17
+ { name: 'wrc', value: '#0000c8' },
18
18
  ],
19
19
 
20
20
  // Accent Colors
21
21
  accent: [
22
- { name: "lightest", value: "#00b0f0" },
23
- { name: "light", value: "#0099da" },
24
- { name: "default", value: "#0087c1" },
25
- { name: "dark", value: "#006ea6" },
26
- { name: "darker", value: "#00437a" },
27
- { name: "deepBlue", value: "#0c1a32" }
22
+ { name: 'lightest', value: '#00b0f0' },
23
+ { name: 'light', value: '#0099da' },
24
+ { name: 'default', value: '#0087c1' },
25
+ { name: 'dark', value: '#006ea6' },
26
+ { name: 'darker', value: '#00437a' },
27
+ { name: 'deepBlue', value: '#0c1a32' },
28
28
  ],
29
29
 
30
30
  // Neutral Colors
31
31
  neutral: [
32
- { name: "lightest", value: "#f3f4f6" },
33
- { name: "lighter", value: "#e5e7eb" },
34
- { name: "light", value: "#b5bbc5" },
35
- { name: "default", value: "#9ca3af" },
36
- { name: "dark", value: "#6a767d" },
37
- { name: "darker", value: "#4b5563"},
38
- { name: "black", value: "#000000" }
32
+ { name: 'lightest', value: '#f3f4f6' },
33
+ { name: 'lighter', value: '#e5e7eb' },
34
+ { name: 'light', value: '#b5bbc5' },
35
+ { name: 'default', value: '#9ca3af' },
36
+ { name: 'dark', value: '#6a767d' },
37
+ { name: 'darker', value: '#4b5563' },
38
+ { name: 'black', value: '#000000' },
39
39
  ],
40
40
 
41
- // Slate Colors
41
+ // Slate Colors
42
42
  slate: [
43
- { name: "light", value: "#64748B" },
44
- { name: "default", value: "#475569" },
45
- { name: "dark", value: "#334155" },
46
- { name: "darker", value: "#1e293b" }, // Previously 'darkest'
47
- { name: "darkest", value: "#0f172a" } // New shade added
43
+ { name: 'light', value: '#64748B' },
44
+ { name: 'default', value: '#475569' },
45
+ { name: 'dark', value: '#334155' },
46
+ { name: 'darker', value: '#1e293b' }, // Previously 'darkest'
47
+ { name: 'darkest', value: '#0f172a' }, // New shade added
48
48
  ],
49
49
 
50
50
  // System Colors
51
51
  system: [
52
- { name: "success", value: "#10B981" },
53
- { name: "warning", value: "#FBBF24" },
54
- { name: "error", value: "#EF4444" },
55
- { name: "info", value: "#3B82F6" }
52
+ { name: 'success', value: '#10B981' },
53
+ { name: 'warning', value: '#FBBF24' },
54
+ { name: 'error', value: '#EF4444' },
55
+ { name: 'info', value: '#3B82F6' },
56
56
  ],
57
57
 
58
58
  // State Colors
59
59
  state: [
60
- { name: "overlay", value: "rgb(0 0 0 / 0.06)" },
61
- { name: "disabled", value: "rgb(0 0 0 / 0.12)" },
62
- ]
60
+ { name: 'overlay', value: 'rgb(0 0 0 / 0.06)' },
61
+ { name: 'disabled', value: 'rgb(0 0 0 / 0.12)' },
62
+ ],
63
63
  };
64
64
 
65
65
  export const TYPOGRAPHY = {
66
66
  scale: [
67
- { name: "h1", size: "22pt", weight: "400" },
68
- { name: "h2", size: "17pt", weight: "500" },
69
- { name: "h3", size: "13pt", weight: "600" },
70
- { name: "h4", size: "13pt", weight: "500" },
71
- { name: "body", size: "13pt", weight: "400" },
72
- { name: "button", size: "13pt", weight: "400" },
73
- { name: "caption", size: "10pt", weight: "400" }
74
- ]
67
+ { name: 'h1', size: '22pt', weight: '400' },
68
+ { name: 'h2', size: '17pt', weight: '500' },
69
+ { name: 'h3', size: '13pt', weight: '600' },
70
+ { name: 'h4', size: '13pt', weight: '500' },
71
+ { name: 'body', size: '13pt', weight: '400' },
72
+ { name: 'button', size: '13pt', weight: '400' },
73
+ { name: 'caption', size: '10pt', weight: '400' },
74
+ ],
75
75
  };
76
76
 
77
77
  export const FONTS = {
78
78
  types: [
79
- { name: "sans", value: "font-textregular" },
80
- { name: "text-regular", value: "font-textregular" },
81
- { name: "text-bold", value: "font-textbold" },
82
- { name: "head-bold", value: "font-headbold" },
83
- { name: "head-regular", value: "font-headregular" },
84
- { name: "head-light", value: "font-headlight" },
85
- { name: "text-light", value: "font-textlight" },
86
- { name: "mono", value: "font-novamono" }
87
- ]
79
+ { name: 'sans', value: 'font-textregular' },
80
+ { name: 'text-regular', value: 'font-textregular' },
81
+ { name: 'text-bold', value: 'font-textbold' },
82
+ { name: 'head-bold', value: 'font-headbold' },
83
+ { name: 'head-regular', value: 'font-headregular' },
84
+ { name: 'head-light', value: 'font-headlight' },
85
+ { name: 'text-light', value: 'font-textlight' },
86
+ { name: 'mono', value: 'font-novamono' },
87
+ ],
88
88
  };
89
89
 
90
- export const SHADOWS = {
90
+ export const SHADOWS = {
91
91
  types: [
92
- { name: "xs", value: "0px 2px 4px rgba(0, 0, 0, 0.08)" },
93
- { name: "sm", value: "0px 4px 8px rgba(0, 0, 0, 0.125)" },
94
- { name: "md", value: "0px 8px 16px rgba(0, 0, 0, 0.125)" },
95
- { name: "lg", value: "0px 16px 32px rgba(0, 0, 0, 0.125)" },
96
- { name: "xl", value: "0px 32px 64px rgba(0, 0, 0, 0.125)" },
97
- { name: "2xl", value: "0px 64px 128px rgba(0, 0, 0, 0.125)" }
98
- ]
99
- };
92
+ { name: 'xs', value: '0px 2px 4px rgba(0, 0, 0, 0.08)' },
93
+ { name: 'sm', value: '0px 4px 8px rgba(0, 0, 0, 0.125)' },
94
+ { name: 'md', value: '0px 8px 16px rgba(0, 0, 0, 0.125)' },
95
+ { name: 'lg', value: '0px 16px 32px rgba(0, 0, 0, 0.125)' },
96
+ { name: 'xl', value: '0px 32px 64px rgba(0, 0, 0, 0.125)' },
97
+ { name: '2xl', value: '0px 64px 128px rgba(0, 0, 0, 0.125)' },
98
+ ],
99
+ };
package/src/env.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference path="../.astro/types.d.ts" />
2
2
  /// <reference types="astro/client" />
3
3
  declare module '*.vue' {
4
- import type { DefineComponent } from 'vue'
5
- const component: DefineComponent<{}, {}, any>
6
- export default component
7
- }
4
+ import type { DefineComponent } from 'vue';
5
+ const component: DefineComponent<{}, {}, any>;
6
+ export default component;
7
+ }
@@ -1,24 +1,20 @@
1
1
  ---
2
- import HeadCommon from "./partials/HeadCommon.astro";
3
- import FooterCommon from "./partials/FooterCommon.astro";
4
- import HeadSEO from "../layouts/partials/HeadSEO.astro";
5
- import * as CONFIG from "../config";
6
- import "../styles/main.css";
7
- import Copyright from "../components/Copyright.astro";
2
+ import HeadCommon from './partials/HeadCommon.astro';
3
+ import FooterCommon from './partials/FooterCommon.astro';
4
+ import HeadSEO from '../layouts/partials/HeadSEO.astro';
5
+ import * as CONFIG from '../config';
6
+ import '../styles/main.css';
7
+ import Copyright from '../components/Copyright.astro';
8
8
  const { content = {} } = Astro.props;
9
9
  const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
10
10
  ---
11
11
 
12
- <html dir={content.dir ?? "ltr"} lang={content.lang ?? "en-us"} class="initial">
12
+ <html dir={content.dir ?? 'ltr'} lang={content.lang ?? 'en-us'} class="initial">
13
13
  <head>
14
14
  <HeadCommon />
15
15
  <HeadSEO {content} canonicalURL={canonicalURL} />
16
16
  <title>
17
- {
18
- content.title
19
- ? `${content.title} 🚀 ${CONFIG.SITE.title}`
20
- : CONFIG.SITE.title
21
- }
17
+ {content.title ? `${content.title} 🚀 ${CONFIG.SITE.title}` : CONFIG.SITE.title}
22
18
  </title>
23
19
  </head>
24
20
 
@@ -34,13 +30,9 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
34
30
  target="_blank"
35
31
  rel="follow noopener"
36
32
  class="flex my-auto items-center mx-auto"
37
- title={`Proudly made in Poland by ${
38
- import.meta.env.COPYRIGHT_DOMAIN
39
- }`}
33
+ title={`Proudly made in Poland by ${import.meta.env.COPYRIGHT_DOMAIN}`}
40
34
  >
41
- <div class="text-xxs md:text-xs mr-1 mt-0.5 whitespace-nowrap">
42
- createdy by
43
- </div>
35
+ <div class="text-xxs md:text-xs mr-1 mt-0.5 whitespace-nowrap">createdy by</div>
44
36
  <img
45
37
  class="h-4 w-min md:h-5"
46
38
  src="spoko.space.svg"
@@ -55,4 +47,3 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
55
47
  </footer>
56
48
  </body>
57
49
  </html>
58
-
@@ -1,12 +1,12 @@
1
1
  ---
2
- import HeadCommon from "./partials/HeadCommon.astro";
3
- import HeadSEO from "../layouts/partials/HeadSEO.astro";
4
- import Header from "../components/Header/Header.astro";
5
- import PageContent from "../components/PageContent.astro";
6
- import LeftSidebar from "../components/LeftSidebar.astro";
7
- import * as CONFIG from "../config";
8
- import "../styles/main.css";
9
- import Copyright from "../components/Copyright.astro";
2
+ import HeadCommon from './partials/HeadCommon.astro';
3
+ import HeadSEO from '../layouts/partials/HeadSEO.astro';
4
+ import Header from '../components/Header/Header.astro';
5
+ import PageContent from '../components/PageContent.astro';
6
+ import LeftSidebar from '../components/LeftSidebar.astro';
7
+ import * as CONFIG from '../config';
8
+ import '../styles/main.css';
9
+ import Copyright from '../components/Copyright.astro';
10
10
  const { content = {} } = Astro.props;
11
11
  const currentPage = Astro.url.pathname;
12
12
  const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
@@ -14,22 +14,18 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
14
14
 
15
15
  <script>
16
16
  // Swiper Element
17
- import { register } from "swiper/element/bundle";
18
- document.addEventListener("astro:page-load", () => {
17
+ import { register } from 'swiper/element/bundle';
18
+ document.addEventListener('astro:page-load', () => {
19
19
  register();
20
20
  });
21
21
  </script>
22
22
 
23
- <html dir={content.dir ?? "ltr"} lang={content.lang ?? "en-us"} class="initial">
23
+ <html dir={content.dir ?? 'ltr'} lang={content.lang ?? 'en-us'} class="initial">
24
24
  <head>
25
25
  <HeadCommon />
26
26
  <HeadSEO content={content} canonicalURL={canonicalURL} />
27
27
  <title>
28
- {
29
- content.title
30
- ? `${content.title} 🚀 ${CONFIG.SITE.title}`
31
- : CONFIG.SITE.title
32
- }
28
+ {content.title ? `${content.title} 🚀 ${CONFIG.SITE.title}` : CONFIG.SITE.title}
33
29
  </title>
34
30
  </head>
35
31
 
@@ -60,9 +56,7 @@ const canonicalURL = new URL(Astro.url.pathname, Astro.site).toString();
60
56
  class="flex my-auto items-center mx-auto"
61
57
  title={`Proudly made in Poland by spoko.space`}
62
58
  >
63
- <div class="text-xxs md:text-xs mr-1 mt-0.5 whitespace-nowrap">
64
- createdy by
65
- </div>
59
+ <div class="text-xxs md:text-xs mr-1 mt-0.5 whitespace-nowrap">createdy by</div>
66
60
  <img
67
61
  class="h-4 md:h-5 w-min"
68
62
  src="/spoko.space.svg"
@@ -1,5 +1,5 @@
1
1
  ---
2
- import ReloadPrompt from "../../components/ReloadPrompt.astro";
2
+ import ReloadPrompt from '../../components/ReloadPrompt.astro';
3
3
  ---
4
4
 
5
- <ReloadPrompt />
5
+ <ReloadPrompt />
@@ -1,5 +1,5 @@
1
1
  ---
2
- import { ViewTransitions } from "astro:transitions";
2
+ import { ViewTransitions } from 'astro:transitions';
3
3
  import { pwaInfo } from 'virtual:pwa-info';
4
4
  ---
5
5
 
@@ -22,13 +22,13 @@ import { pwaInfo } from 'virtual:pwa-info';
22
22
 
23
23
  <!-- This is intentionally inlined to avoid FOUC -->
24
24
  <script is:inline>
25
- // const root = document.documentElement;
26
- // const theme = localStorage.getItem('theme');
27
- // if (theme === 'dark' || (!theme && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
28
- // root.classList.add('dark');
29
- // } else {
30
- // root.classList.remove('dark');
31
- // }
25
+ // const root = document.documentElement;
26
+ // const theme = localStorage.getItem('theme');
27
+ // if (theme === 'dark' || (!theme && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
28
+ // root.classList.add('dark');
29
+ // } else {
30
+ // root.classList.remove('dark');
31
+ // }
32
32
  </script>
33
33
 
34
34
  <!-- Global site tag (gtag.js) - Google Analytics -->
@@ -41,4 +41,4 @@ import { pwaInfo } from 'virtual:pwa-info';
41
41
  </script> -->
42
42
 
43
43
  <ViewTransitions />
44
- { pwaInfo && <Fragment set:html={pwaInfo.webManifest.linkTag} /> }
44
+ {pwaInfo && <Fragment set:html={pwaInfo.webManifest.linkTag} />}
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  import { SITE, OPEN_GRAPH } from '../../config';
3
3
  export interface Props {
4
- content: any;
5
- // site: any;
6
- canonicalURL: URL | string;
4
+ content: any;
5
+ // site: any;
6
+ canonicalURL: URL | string;
7
7
  }
8
8
  const { content = {}, canonicalURL } = Astro.props;
9
9
  const formattedContentTitle = content.title ? `${content.title} 🚀 ${SITE.title}` : SITE.title;
@@ -22,14 +22,21 @@ const imageAlt = content?.image?.alt ?? OPEN_GRAPH.image.alt;
22
22
  <meta property="og:locale" content={content.ogLocale ?? SITE.defaultLanguage} />
23
23
  <!-- <meta property="og:image" content={canonicalImageSrc} /> -->
24
24
  <meta property="og:image:alt" content={imageAlt} />
25
- <meta name="description" property="og:description" content={content.description ? content.description : SITE.description} />
25
+ <meta
26
+ name="description"
27
+ property="og:description"
28
+ content={content.description ? content.description : SITE.description}
29
+ />
26
30
  <meta property="og:site_name" content={SITE.title} />
27
31
 
28
32
  <!-- Twitter Tags -->
29
33
  <meta name="twitter:card" content="summary_large_image" />
30
34
  <meta name="twitter:site" content={OPEN_GRAPH.twitter} />
31
35
  <meta name="twitter:title" content={formattedContentTitle} />
32
- <meta name="twitter:description" content={content.description ? content.description : SITE.description} />
36
+ <meta
37
+ name="twitter:description"
38
+ content={content.description ? content.description : SITE.description}
39
+ />
33
40
  <!-- <meta name="twitter:image" content={canonicalImageSrc} /> -->
34
41
  <meta name="twitter:image:alt" content={imageAlt} />
35
42