Amirul 1 день назад
Сommit
f0df47d3b2
100 измененных файлов: 2152 добавлений и 0 удалений
  1. 5
    0
      .gitignore
  2. 38
    0
      LocalValetDriver.php
  3. 68
    0
      README.md
  4. 47
    0
      SOURCES.md
  5. 18
    0
      index.html
  6. 1651
    0
      package-lock.json
  7. 27
    0
      package.json
  8. 19
    0
      playwright.config.ts
  9. Двоичные данные
      public/campaigns/aeon.webp
  10. Двоичные данные
      public/campaigns/bold-flavours.jpg
  11. Двоичные данные
      public/campaigns/emart24.webp
  12. Двоичные данные
      public/campaigns/snack-range.webp
  13. Двоичные данные
      public/fonts/0.woff2
  14. Двоичные данные
      public/fonts/1.woff2
  15. 93
    0
      public/fonts/dmsans-OFL.txt
  16. 93
    0
      public/fonts/fraunces-OFL.txt
  17. Двоичные данные
      public/fonts/fraunces.woff2
  18. 93
    0
      public/fonts/manrope-OFL.txt
  19. Двоичные данные
      public/images/editorial-0-600.webp
  20. Двоичные данные
      public/images/editorial-0.webp
  21. Двоичные данные
      public/images/editorial-1-600.webp
  22. Двоичные данные
      public/images/editorial-1.webp
  23. Двоичные данные
      public/images/editorial-2-600.webp
  24. Двоичные данные
      public/images/editorial-2.webp
  25. Двоичные данные
      public/images/editorial-3-600.webp
  26. Двоичные данные
      public/images/editorial-3.webp
  27. Двоичные данные
      public/images/favicon.webp
  28. Двоичные данные
      public/images/journal-79-600.webp
  29. Двоичные данные
      public/images/journal-79.webp
  30. Двоичные данные
      public/images/journal-80-600.webp
  31. Двоичные данные
      public/images/journal-80.webp
  32. Двоичные данные
      public/images/journal-81-600.webp
  33. Двоичные данные
      public/images/journal-81.webp
  34. Двоичные данные
      public/images/journal-82-600.webp
  35. Двоичные данные
      public/images/journal-82.webp
  36. Двоичные данные
      public/images/journal-83-600.webp
  37. Двоичные данные
      public/images/journal-83.webp
  38. Двоичные данные
      public/images/journal-84-600.webp
  39. Двоичные данные
      public/images/journal-84.webp
  40. Двоичные данные
      public/images/journal-85-600.webp
  41. Двоичные данные
      public/images/journal-85.webp
  42. Двоичные данные
      public/images/journal-86-600.webp
  43. Двоичные данные
      public/images/journal-86.webp
  44. Двоичные данные
      public/images/journal-87-600.webp
  45. Двоичные данные
      public/images/journal-87.webp
  46. Двоичные данные
      public/images/journal-88-600.webp
  47. Двоичные данные
      public/images/journal-88.webp
  48. Двоичные данные
      public/images/journal-89-600.webp
  49. Двоичные данные
      public/images/journal-89.webp
  50. Двоичные данные
      public/images/journal-90-600.webp
  51. Двоичные данные
      public/images/journal-90.webp
  52. Двоичные данные
      public/images/logo.webp
  53. Двоичные данные
      public/images/product-0-600.webp
  54. Двоичные данные
      public/images/product-0.webp
  55. Двоичные данные
      public/images/product-1-600.webp
  56. Двоичные данные
      public/images/product-1.webp
  57. Двоичные данные
      public/images/product-2-600.webp
  58. Двоичные данные
      public/images/product-2.webp
  59. Двоичные данные
      public/images/product-3-600.webp
  60. Двоичные данные
      public/images/product-3.webp
  61. Двоичные данные
      public/images/product-4-600.webp
  62. Двоичные данные
      public/images/product-4.webp
  63. Двоичные данные
      public/images/snack-130-0-600.webp
  64. Двоичные данные
      public/images/snack-130-0.webp
  65. Двоичные данные
      public/images/snack-130-1-600.webp
  66. Двоичные данные
      public/images/snack-130-1.webp
  67. Двоичные данные
      public/images/snack-130-2-600.webp
  68. Двоичные данные
      public/images/snack-130-2.webp
  69. Двоичные данные
      public/images/snack-130-3-600.webp
  70. Двоичные данные
      public/images/snack-130-3.webp
  71. Двоичные данные
      public/images/snack-130-4-600.webp
  72. Двоичные данные
      public/images/snack-130-4.webp
  73. Двоичные данные
      public/images/snack-130-5-600.webp
  74. Двоичные данные
      public/images/snack-130-5.webp
  75. Двоичные данные
      public/images/snack-131-0-600.webp
  76. Двоичные данные
      public/images/snack-131-0.webp
  77. Двоичные данные
      public/images/snack-131-1-600.webp
  78. Двоичные данные
      public/images/snack-131-1.webp
  79. Двоичные данные
      public/images/snack-131-2-600.webp
  80. Двоичные данные
      public/images/snack-131-2.webp
  81. Двоичные данные
      public/images/snack-131-3-600.webp
  82. Двоичные данные
      public/images/snack-131-3.webp
  83. Двоичные данные
      public/images/snack-136-0-600.webp
  84. Двоичные данные
      public/images/snack-136-0.webp
  85. Двоичные данные
      public/images/snack-136-1-600.webp
  86. Двоичные данные
      public/images/snack-136-1.webp
  87. Двоичные данные
      public/images/snack-136-2-600.webp
  88. Двоичные данные
      public/images/snack-136-2.webp
  89. Двоичные данные
      public/images/snack-136-3-600.webp
  90. Двоичные данные
      public/images/snack-136-3.webp
  91. Двоичные данные
      public/images/snack-136-4-600.webp
  92. Двоичные данные
      public/images/snack-136-4.webp
  93. Двоичные данные
      public/images/snack-145-0-600.webp
  94. Двоичные данные
      public/images/snack-145-0.webp
  95. Двоичные данные
      public/images/snack-145-1-600.webp
  96. Двоичные данные
      public/images/snack-145-1.webp
  97. Двоичные данные
      public/images/snack-145-2-600.webp
  98. Двоичные данные
      public/images/snack-145-2.webp
  99. Двоичные данные
      public/images/snack-147-0-600.webp
  100. 0
    0
      public/images/snack-147-0.webp

+ 5
- 0
.gitignore Просмотреть файл

@@ -0,0 +1,5 @@
1
+node_modules/
2
+dist/
3
+test-results/
4
+playwright-report/
5
+.DS_Store

+ 38
- 0
LocalValetDriver.php Просмотреть файл

@@ -0,0 +1,38 @@
1
+<?php
2
+
3
+use Valet\Drivers\ValetDriver;
4
+
5
+/** Serve the compiled Vite storefront through Herd, including SPA deep links. */
6
+class LocalValetDriver extends ValetDriver
7
+{
8
+    public function serves(string $sitePath, string $siteName, string $uri): bool
9
+    {
10
+        return is_file($sitePath.'/package.json');
11
+    }
12
+
13
+    public function isStaticFile(string $sitePath, string $siteName, string $uri)
14
+    {
15
+        $root = realpath($sitePath.'/dist');
16
+        $file = $root ? realpath($root.'/'.ltrim($uri, '/')) : false;
17
+
18
+        // Only expose compiled public files, never source or project configuration.
19
+        if ($root && $file && str_starts_with($file, $root.DIRECTORY_SEPARATOR)
20
+            && is_file($file) && !str_starts_with(basename($file), '.')) {
21
+            return $file;
22
+        }
23
+
24
+        return false;
25
+    }
26
+
27
+    public function frontControllerPath(string $sitePath, string $siteName, string $uri): ?string
28
+    {
29
+        // Missing assets must return 404 instead of an HTML response.
30
+        if (pathinfo($uri, PATHINFO_EXTENSION) !== '' && $uri !== '/index.html') {
31
+            return null;
32
+        }
33
+
34
+        $index = $sitePath.'/dist/index.html';
35
+
36
+        return is_file($index) ? $index : null;
37
+    }
38
+}

+ 68
- 0
README.md Просмотреть файл

@@ -0,0 +1,68 @@
1
+# ADUCKTIVE redesign
2
+
3
+A standalone React + TypeScript + Vite storefront, built alongside the existing Genesis AI project. The existing application was not modified. The published brand uses **ADUCKTIVE**, so the redesign preserves that spelling and its original logo.
4
+
5
+## Run with Laravel Herd
6
+
7
+This project is in Herd's parked `~/Herd` folder. Start Herd and open **http://aductive.test**.
8
+The project-local `LocalValetDriver.php` serves the compiled `dist/` folder and supports direct links and refreshes on routes such as `/shop` and `/product/...`.
9
+
10
+```sh
11
+cd ~/Herd/aductive
12
+npm install
13
+npm run build
14
+```
15
+
16
+No Vite server is required for `aductive.test`. After editing source files, run `npm run build` again and refresh the browser. For automatic rebuilds while editing, run `npm run build -- --watch`.
17
+
18
+Optional Vite development with hot reload: `npm run dev -- --port 5175`, then open http://localhost:5175. This is separate from the Herd URL.
19
+
20
+For deployment elsewhere, serve `dist/` with a fallback to `index.html` for application routes. `npm run preview` previews that bundle.
21
+
22
+### If Herd does not resolve or open the site
23
+
24
+On the 24 September environment check, Herd's privileged helper had exited with signal 11, leaving DNS and Nginx stopped despite `herd start` reporting success. If this persists, run the following in your own Terminal (the first command may request your Mac administrator password):
25
+
26
+```sh
27
+sudo launchctl kickstart -k system/de.beyondco.herd.helper
28
+herd restart
29
+```
30
+
31
+Then open http://aductive.test again. If the helper immediately crashes again, repair Herd's helper through the Herd application before retrying. The storefront build does not require changes for this service failure.
32
+
33
+## Included
34
+
35
+- DEUX-inspired visual direction: oversized Fraunces type, red/gold/pink colour blocks, playful product compositions, and bold pill buttons across the storefront.
36
+- Full homepage with product-led hero, featured products, collections, brand story, benefits, new arrivals, published customer testimonials, social gallery, newsletter and footer.
37
+- Searchable and filterable shop, price/name/new-arrival sorting, pack selection and load more.
38
+- All 13 products in the public store catalogue, with prices, sale prices, quantities, image galleries, zoom, touch navigation, alternate pack links and stock limits.
39
+- Local persistent bag, wishlist and recently viewed products; drawer and full cart page.
40
+- About, collections, contact, journal index, 12 source articles, account pages, checkout preview, help and policy-information routes.
41
+- Keyboard-accessible native dialogs, focus restoration, Escape dismissal, reduced-motion support, labelled forms and responsive layouts from 320px upward.
42
+- One-shot scroll reveals for selected homepage sections and cards, a scroll-driven flavour ribbon, and product entrance animations; respects reduced-motion preferences and keyboard focus.
43
+- Local fonts, WebP assets, responsive 600px images, lazy loading and eager hero imagery.
44
+
45
+## Integration boundary
46
+
47
+The workspace did not contain ADUCKTIVE's original application or an authenticated commerce integration. This implementation therefore **does not collect payments, create orders, authenticate customers, validate promotions or submit messages to a backend**.
48
+
49
+- Checkout is a self-contained interactive preview: address editing, editable items, inline standard/express delivery and card/FPX/e-wallet choices, voucher field, live preview totals, review dialog and preview-complete state. There is no external checkout redirect. Delivery rates (RM 5 / RM 10), time windows and payment methods are explicitly illustrative, not confirmed merchant services. Voucher checks never apply unvalidated discounts. No card or bank credentials are collected. Completing the preview does not place an order, charge a payment or clear the bag. Address and selections stay only in memory for the current page visit.
50
+- The account landing page links to local `/login`, `/register` and `/forgot-password` forms. These validate inputs and provide password visibility controls, but no authentication service is connected. Submissions explicitly report that no sign-in, registration or reset email occurred; passwords are cleared after validation and no credentials are transmitted or persisted.
51
+- Contact and newsletter forms validate input and prepare a `mailto:` request. Their feedback says that the user must send the email; it never claims a message was sent or a subscription completed.
52
+- Checkout example rates are clearly labelled for preview. Production shipping, tax, discount and payment calculations require live integrations.
53
+- Prices and stock are a snapshot, not a live inventory feed. Connect the source commerce API and official form endpoints before a transactional launch.
54
+
55
+## Content and provenance
56
+
57
+`research/` contains the public JSON snapshots retrieved on **14 September 2026**. `src/content.json` contains the normalized application data. See [SOURCES.md](SOURCES.md) for source endpoints and editorial decisions. No Supercube branding, photography, copy or product information is used.
58
+
59
+## Validation
60
+
61
+```sh
62
+npm run build
63
+npm test
64
+```
65
+
66
+The Playwright suite uses installed Google Chrome. It covers cart arithmetic and persistence, wishlist, filters, sorting, search, focus restoration, galleries, product quantity, mobile navigation, forms, article navigation, route rendering, responsive overflow at 320/390/768/1024/1200/1440px, and automated WCAG checks using axe.
67
+
68
+`node scripts/visual-check.mjs` captures desktop/mobile previews while the development server is running.

+ 47
- 0
SOURCES.md Просмотреть файл

@@ -0,0 +1,47 @@
1
+# Source record
2
+
3
+Retrieved 14 September 2026, read-only.
4
+
5
+- Original brand: https://aducktive.com/
6
+- Visual and ecommerce reference only: https://supercubetea.com/
7
+- Current purchasable catalogue: https://business.aducktive.com/api/ecommerce/products
8
+- Historical CMS product data: https://cms.aducktive.com/panel/api/products?populate=*
9
+- Product display assets: https://cms.aducktive.com/panel/api/product-display?populate[0]=product_display.image&populate
10
+- Brand story and historical milestones: https://cms.aducktive.com/panel/api/our-story?populate[0]=our_milestone.image&populate[1]=retail_partner.image&populate
11
+- Testimonials: https://cms.aducktive.com/panel/api/testimony?populate[0]=comment.message&populate[1]=comment.tetimony_image
12
+- Journal: https://cms.aducktive.com/panel/api/news-medias?sort=date%3Adesc&populate=*&pagination[pageSize]=9999
13
+- Verified social links: https://cms.aducktive.com/panel/api/social?populate[0]=social.logo
14
+- Logo: https://aducktive.com/static/images/logoLoading.png
15
+- Contact details: original site's rendered footer (hello@aducktive.com, 018-265 4321, Kota Puteri address).
16
+- Official account routes: https://aducktive.com/signin and https://aducktive.com/register/account
17
+- Official checkout: https://aducktive.com/checkout
18
+
19
+## Editorial choices
20
+
21
+The live brand is spelled ADUCKTIVE. Names have been converted from catalogue uppercase to title case, with FP/VP expanded as Family pack/Value pack; weights are presented separately. The modern public business catalogue takes precedence over the older six-product CMS catalogue for prices, product range and stock.
22
+
23
+The source does not provide verified sales rankings or product-specific rating scores. The homepage therefore uses **featured favourites**, without invented bestseller badges or star ratings. New-arrival badges are limited to the two products explicitly marked `(NEW)` in the source.
24
+
25
+Published testimonial messages and masked customer names are preserved. Social tiles reuse real product photographs and link to the verified Instagram account; they are not represented as a live Instagram feed. Journal text and dates are from the source CMS. The latest 12 published stories are included.
26
+
27
+New campaign headlines and brief flavour descriptions are editorial copy derived from the product names and existing brand story. No medical, nutrition, delivery, certification or refund promises have been added. Missing official policy content is stated plainly in the help pages and linked to brand support.
28
+
29
+ADUCKTIVE's original imagery is preserved, resized and compressed for delivery. No generated imagery or Supercube assets are used.
30
+
31
+## Fonts
32
+
33
+Fraunces, DM Sans and Manrope are locally hosted Google Fonts, distributed under the SIL Open Font License. License files are in `public/fonts/`.
34
+
35
+## Design reference
36
+
37
+The September 28 refresh draws visual inspiration from https://www.eatdeux.com/: oversized expressive type, saturated colour blocks, playful product compositions, and prominent shopping calls to action. All brand assets and product content remain ADUCKTIVE’s; no DEUX photography, branding or copy is reused.
38
+
39
+## Checkout flow refresh
40
+
41
+The September 29 checkout uses a TikTok Shop-inspired single-page order review, adapted into a self-contained interactive preview. Reference: https://support.tiktok.com/en/using-tiktok/exploring-videos/tiktok-shop and https://seller.tiktok.com/blog/safe-payment-on-tiktok-shop/10023236/. This is a design adaptation, not a TikTok payment integration or a claim that ADUCKTIVE supports TikTok’s payment methods.
42
+
43
+Checkout delivery fees and time windows are illustrative design fixtures; payment options are illustrative UI choices. They are not sourced merchant offerings. No transactions are submitted.
44
+
45
+## User-supplied campaign banners
46
+
47
+On September 29, the user supplied `1.webp`, `2.webp`, `3.webp` and `4.jpg` from their Aductive Banner Image folder. These are copied unchanged to `public/campaigns/` and displayed as slides 2–5 alongside the existing pink manifesto banner. Promotional statements and retailer locations are part of the supplied artwork, not a live availability feed.

+ 18
- 0
index.html Просмотреть файл

@@ -0,0 +1,18 @@
1
+<!doctype html>
2
+<html lang="en">
3
+  <head>
4
+    <meta charset="UTF-8" />
5
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+    <meta name="theme-color" content="#a92427" />
7
+    <meta
8
+      name="description"
9
+      content="Discover ADUCKTIVE's Malaysian salted egg snacks. Explore cornflakes, mushroom crisps, tempeh chips and more."
10
+    />
11
+    <title>ADUCKTIVE — Big crunch. Big mood.</title>
12
+    <link rel="icon" href="/images/favicon.webp" />
13
+  </head>
14
+  <body>
15
+    <div id="root"></div>
16
+    <script type="module" src="/src/main.tsx"></script>
17
+  </body>
18
+</html>

+ 1651
- 0
package-lock.json
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 27
- 0
package.json Просмотреть файл

@@ -0,0 +1,27 @@
1
+{
2
+  "name": "aducktive-redesign",
3
+  "version": "1.0.0",
4
+  "private": true,
5
+  "type": "module",
6
+  "scripts": {
7
+    "dev": "vite --host 0.0.0.0",
8
+    "build": "tsc --noEmit && vite build",
9
+    "preview": "vite preview --host 0.0.0.0",
10
+    "test": "playwright test"
11
+  },
12
+  "dependencies": {
13
+    "lucide-react": "^0.487.0",
14
+    "react": "^18.3.1",
15
+    "react-dom": "^18.3.1",
16
+    "vite": "^8.0.0"
17
+  },
18
+  "devDependencies": {
19
+    "@axe-core/playwright": "^4.13.0",
20
+    "@playwright/test": "^1.63.0",
21
+    "@types/react": "^18.3.31",
22
+    "@types/react-dom": "^18.3.7",
23
+    "prettier": "^3.9.6",
24
+    "sharp": "^0.35.4",
25
+    "typescript": "^5.9.3"
26
+  }
27
+}

+ 19
- 0
playwright.config.ts Просмотреть файл

@@ -0,0 +1,19 @@
1
+import { defineConfig } from "@playwright/test";
2
+export default defineConfig({
3
+  testDir: "./tests",
4
+  fullyParallel: false,
5
+  workers: 1,
6
+  timeout: 120000,
7
+  use: {
8
+    baseURL: "http://localhost:5175",
9
+    channel: "chrome",
10
+    headless: true,
11
+    trace: "retain-on-failure",
12
+  },
13
+  webServer: {
14
+    command: "npm run dev -- --port 5175",
15
+    url: "http://localhost:5175",
16
+    reuseExistingServer: true,
17
+  },
18
+  reporter: "list",
19
+});

Двоичные данные
public/campaigns/aeon.webp Просмотреть файл


Двоичные данные
public/campaigns/bold-flavours.jpg Просмотреть файл


Двоичные данные
public/campaigns/emart24.webp Просмотреть файл


Двоичные данные
public/campaigns/snack-range.webp Просмотреть файл


Двоичные данные
public/fonts/0.woff2 Просмотреть файл


Двоичные данные
public/fonts/1.woff2 Просмотреть файл


+ 93
- 0
public/fonts/dmsans-OFL.txt Просмотреть файл

@@ -0,0 +1,93 @@
1
+Copyright 2014 The DM Sans Project Authors (https://github.com/googlefonts/dm-fonts)
2
+
3
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+This license is copied below, and is also available with a FAQ at:
5
+https://scripts.sil.org/OFL
6
+
7
+
8
+-----------------------------------------------------------
9
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+-----------------------------------------------------------
11
+
12
+PREAMBLE
13
+The goals of the Open Font License (OFL) are to stimulate worldwide
14
+development of collaborative font projects, to support the font creation
15
+efforts of academic and linguistic communities, and to provide a free and
16
+open framework in which fonts may be shared and improved in partnership
17
+with others.
18
+
19
+The OFL allows the licensed fonts to be used, studied, modified and
20
+redistributed freely as long as they are not sold by themselves. The
21
+fonts, including any derivative works, can be bundled, embedded, 
22
+redistributed and/or sold with any software provided that any reserved
23
+names are not used by derivative works. The fonts and derivatives,
24
+however, cannot be released under any other type of license. The
25
+requirement for fonts to remain under this license does not apply
26
+to any document created using the fonts or their derivatives.
27
+
28
+DEFINITIONS
29
+"Font Software" refers to the set of files released by the Copyright
30
+Holder(s) under this license and clearly marked as such. This may
31
+include source files, build scripts and documentation.
32
+
33
+"Reserved Font Name" refers to any names specified as such after the
34
+copyright statement(s).
35
+
36
+"Original Version" refers to the collection of Font Software components as
37
+distributed by the Copyright Holder(s).
38
+
39
+"Modified Version" refers to any derivative made by adding to, deleting,
40
+or substituting -- in part or in whole -- any of the components of the
41
+Original Version, by changing formats or by porting the Font Software to a
42
+new environment.
43
+
44
+"Author" refers to any designer, engineer, programmer, technical
45
+writer or other person who contributed to the Font Software.
46
+
47
+PERMISSION & CONDITIONS
48
+Permission is hereby granted, free of charge, to any person obtaining
49
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+redistribute, and sell modified and unmodified copies of the Font
51
+Software, subject to the following conditions:
52
+
53
+1) Neither the Font Software nor any of its individual components,
54
+in Original or Modified Versions, may be sold by itself.
55
+
56
+2) Original or Modified Versions of the Font Software may be bundled,
57
+redistributed and/or sold with any software, provided that each copy
58
+contains the above copyright notice and this license. These can be
59
+included either as stand-alone text files, human-readable headers or
60
+in the appropriate machine-readable metadata fields within text or
61
+binary files as long as those fields can be easily viewed by the user.
62
+
63
+3) No Modified Version of the Font Software may use the Reserved Font
64
+Name(s) unless explicit written permission is granted by the corresponding
65
+Copyright Holder. This restriction only applies to the primary font name as
66
+presented to the users.
67
+
68
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+Software shall not be used to promote, endorse or advertise any
70
+Modified Version, except to acknowledge the contribution(s) of the
71
+Copyright Holder(s) and the Author(s) or with their explicit written
72
+permission.
73
+
74
+5) The Font Software, modified or unmodified, in part or in whole,
75
+must be distributed entirely under this license, and must not be
76
+distributed under any other license. The requirement for fonts to
77
+remain under this license does not apply to any document created
78
+using the Font Software.
79
+
80
+TERMINATION
81
+This license becomes null and void if any of the above conditions are
82
+not met.
83
+
84
+DISCLAIMER
85
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+OTHER DEALINGS IN THE FONT SOFTWARE.

+ 93
- 0
public/fonts/fraunces-OFL.txt Просмотреть файл

@@ -0,0 +1,93 @@
1
+Copyright 2018 The Fraunces Project Authors (https://github.com/undercasetype/Fraunces)
2
+
3
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+This license is copied below, and is also available with a FAQ at:
5
+http://scripts.sil.org/OFL
6
+
7
+
8
+-----------------------------------------------------------
9
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+-----------------------------------------------------------
11
+
12
+PREAMBLE
13
+The goals of the Open Font License (OFL) are to stimulate worldwide
14
+development of collaborative font projects, to support the font creation
15
+efforts of academic and linguistic communities, and to provide a free and
16
+open framework in which fonts may be shared and improved in partnership
17
+with others.
18
+
19
+The OFL allows the licensed fonts to be used, studied, modified and
20
+redistributed freely as long as they are not sold by themselves. The
21
+fonts, including any derivative works, can be bundled, embedded, 
22
+redistributed and/or sold with any software provided that any reserved
23
+names are not used by derivative works. The fonts and derivatives,
24
+however, cannot be released under any other type of license. The
25
+requirement for fonts to remain under this license does not apply
26
+to any document created using the fonts or their derivatives.
27
+
28
+DEFINITIONS
29
+"Font Software" refers to the set of files released by the Copyright
30
+Holder(s) under this license and clearly marked as such. This may
31
+include source files, build scripts and documentation.
32
+
33
+"Reserved Font Name" refers to any names specified as such after the
34
+copyright statement(s).
35
+
36
+"Original Version" refers to the collection of Font Software components as
37
+distributed by the Copyright Holder(s).
38
+
39
+"Modified Version" refers to any derivative made by adding to, deleting,
40
+or substituting -- in part or in whole -- any of the components of the
41
+Original Version, by changing formats or by porting the Font Software to a
42
+new environment.
43
+
44
+"Author" refers to any designer, engineer, programmer, technical
45
+writer or other person who contributed to the Font Software.
46
+
47
+PERMISSION & CONDITIONS
48
+Permission is hereby granted, free of charge, to any person obtaining
49
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+redistribute, and sell modified and unmodified copies of the Font
51
+Software, subject to the following conditions:
52
+
53
+1) Neither the Font Software nor any of its individual components,
54
+in Original or Modified Versions, may be sold by itself.
55
+
56
+2) Original or Modified Versions of the Font Software may be bundled,
57
+redistributed and/or sold with any software, provided that each copy
58
+contains the above copyright notice and this license. These can be
59
+included either as stand-alone text files, human-readable headers or
60
+in the appropriate machine-readable metadata fields within text or
61
+binary files as long as those fields can be easily viewed by the user.
62
+
63
+3) No Modified Version of the Font Software may use the Reserved Font
64
+Name(s) unless explicit written permission is granted by the corresponding
65
+Copyright Holder. This restriction only applies to the primary font name as
66
+presented to the users.
67
+
68
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+Software shall not be used to promote, endorse or advertise any
70
+Modified Version, except to acknowledge the contribution(s) of the
71
+Copyright Holder(s) and the Author(s) or with their explicit written
72
+permission.
73
+
74
+5) The Font Software, modified or unmodified, in part or in whole,
75
+must be distributed entirely under this license, and must not be
76
+distributed under any other license. The requirement for fonts to
77
+remain under this license does not apply to any document created
78
+using the Font Software.
79
+
80
+TERMINATION
81
+This license becomes null and void if any of the above conditions are
82
+not met.
83
+
84
+DISCLAIMER
85
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+OTHER DEALINGS IN THE FONT SOFTWARE.

Двоичные данные
public/fonts/fraunces.woff2 Просмотреть файл


+ 93
- 0
public/fonts/manrope-OFL.txt Просмотреть файл

@@ -0,0 +1,93 @@
1
+Copyright 2018 The Manrope Project Authors (https://github.com/sharanda/manrope)
2
+
3
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
4
+This license is copied below, and is also available with a FAQ at:
5
+http://scripts.sil.org/OFL
6
+
7
+
8
+-----------------------------------------------------------
9
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10
+-----------------------------------------------------------
11
+
12
+PREAMBLE
13
+The goals of the Open Font License (OFL) are to stimulate worldwide
14
+development of collaborative font projects, to support the font creation
15
+efforts of academic and linguistic communities, and to provide a free and
16
+open framework in which fonts may be shared and improved in partnership
17
+with others.
18
+
19
+The OFL allows the licensed fonts to be used, studied, modified and
20
+redistributed freely as long as they are not sold by themselves. The
21
+fonts, including any derivative works, can be bundled, embedded, 
22
+redistributed and/or sold with any software provided that any reserved
23
+names are not used by derivative works. The fonts and derivatives,
24
+however, cannot be released under any other type of license. The
25
+requirement for fonts to remain under this license does not apply
26
+to any document created using the fonts or their derivatives.
27
+
28
+DEFINITIONS
29
+"Font Software" refers to the set of files released by the Copyright
30
+Holder(s) under this license and clearly marked as such. This may
31
+include source files, build scripts and documentation.
32
+
33
+"Reserved Font Name" refers to any names specified as such after the
34
+copyright statement(s).
35
+
36
+"Original Version" refers to the collection of Font Software components as
37
+distributed by the Copyright Holder(s).
38
+
39
+"Modified Version" refers to any derivative made by adding to, deleting,
40
+or substituting -- in part or in whole -- any of the components of the
41
+Original Version, by changing formats or by porting the Font Software to a
42
+new environment.
43
+
44
+"Author" refers to any designer, engineer, programmer, technical
45
+writer or other person who contributed to the Font Software.
46
+
47
+PERMISSION & CONDITIONS
48
+Permission is hereby granted, free of charge, to any person obtaining
49
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
50
+redistribute, and sell modified and unmodified copies of the Font
51
+Software, subject to the following conditions:
52
+
53
+1) Neither the Font Software nor any of its individual components,
54
+in Original or Modified Versions, may be sold by itself.
55
+
56
+2) Original or Modified Versions of the Font Software may be bundled,
57
+redistributed and/or sold with any software, provided that each copy
58
+contains the above copyright notice and this license. These can be
59
+included either as stand-alone text files, human-readable headers or
60
+in the appropriate machine-readable metadata fields within text or
61
+binary files as long as those fields can be easily viewed by the user.
62
+
63
+3) No Modified Version of the Font Software may use the Reserved Font
64
+Name(s) unless explicit written permission is granted by the corresponding
65
+Copyright Holder. This restriction only applies to the primary font name as
66
+presented to the users.
67
+
68
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69
+Software shall not be used to promote, endorse or advertise any
70
+Modified Version, except to acknowledge the contribution(s) of the
71
+Copyright Holder(s) and the Author(s) or with their explicit written
72
+permission.
73
+
74
+5) The Font Software, modified or unmodified, in part or in whole,
75
+must be distributed entirely under this license, and must not be
76
+distributed under any other license. The requirement for fonts to
77
+remain under this license does not apply to any document created
78
+using the Font Software.
79
+
80
+TERMINATION
81
+This license becomes null and void if any of the above conditions are
82
+not met.
83
+
84
+DISCLAIMER
85
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93
+OTHER DEALINGS IN THE FONT SOFTWARE.

Двоичные данные
public/images/editorial-0-600.webp Просмотреть файл


Двоичные данные
public/images/editorial-0.webp Просмотреть файл


Двоичные данные
public/images/editorial-1-600.webp Просмотреть файл


Двоичные данные
public/images/editorial-1.webp Просмотреть файл


Двоичные данные
public/images/editorial-2-600.webp Просмотреть файл


Двоичные данные
public/images/editorial-2.webp Просмотреть файл


Двоичные данные
public/images/editorial-3-600.webp Просмотреть файл


Двоичные данные
public/images/editorial-3.webp Просмотреть файл


Двоичные данные
public/images/favicon.webp Просмотреть файл


Двоичные данные
public/images/journal-79-600.webp Просмотреть файл


Двоичные данные
public/images/journal-79.webp Просмотреть файл


Двоичные данные
public/images/journal-80-600.webp Просмотреть файл


Двоичные данные
public/images/journal-80.webp Просмотреть файл


Двоичные данные
public/images/journal-81-600.webp Просмотреть файл


Двоичные данные
public/images/journal-81.webp Просмотреть файл


Двоичные данные
public/images/journal-82-600.webp Просмотреть файл


Двоичные данные
public/images/journal-82.webp Просмотреть файл


Двоичные данные
public/images/journal-83-600.webp Просмотреть файл


Двоичные данные
public/images/journal-83.webp Просмотреть файл


Двоичные данные
public/images/journal-84-600.webp Просмотреть файл


Двоичные данные
public/images/journal-84.webp Просмотреть файл


Двоичные данные
public/images/journal-85-600.webp Просмотреть файл


Двоичные данные
public/images/journal-85.webp Просмотреть файл


Двоичные данные
public/images/journal-86-600.webp Просмотреть файл


Двоичные данные
public/images/journal-86.webp Просмотреть файл


Двоичные данные
public/images/journal-87-600.webp Просмотреть файл


Двоичные данные
public/images/journal-87.webp Просмотреть файл


Двоичные данные
public/images/journal-88-600.webp Просмотреть файл


Двоичные данные
public/images/journal-88.webp Просмотреть файл


Двоичные данные
public/images/journal-89-600.webp Просмотреть файл


Двоичные данные
public/images/journal-89.webp Просмотреть файл


Двоичные данные
public/images/journal-90-600.webp Просмотреть файл


Двоичные данные
public/images/journal-90.webp Просмотреть файл


Двоичные данные
public/images/logo.webp Просмотреть файл


Двоичные данные
public/images/product-0-600.webp Просмотреть файл


Двоичные данные
public/images/product-0.webp Просмотреть файл


Двоичные данные
public/images/product-1-600.webp Просмотреть файл


Двоичные данные
public/images/product-1.webp Просмотреть файл


Двоичные данные
public/images/product-2-600.webp Просмотреть файл


Двоичные данные
public/images/product-2.webp Просмотреть файл


Двоичные данные
public/images/product-3-600.webp Просмотреть файл


Двоичные данные
public/images/product-3.webp Просмотреть файл


Двоичные данные
public/images/product-4-600.webp Просмотреть файл


Двоичные данные
public/images/product-4.webp Просмотреть файл


Двоичные данные
public/images/snack-130-0-600.webp Просмотреть файл


Двоичные данные
public/images/snack-130-0.webp Просмотреть файл


Двоичные данные
public/images/snack-130-1-600.webp Просмотреть файл


Двоичные данные
public/images/snack-130-1.webp Просмотреть файл


Двоичные данные
public/images/snack-130-2-600.webp Просмотреть файл


Двоичные данные
public/images/snack-130-2.webp Просмотреть файл


Двоичные данные
public/images/snack-130-3-600.webp Просмотреть файл


Двоичные данные
public/images/snack-130-3.webp Просмотреть файл


Двоичные данные
public/images/snack-130-4-600.webp Просмотреть файл


Двоичные данные
public/images/snack-130-4.webp Просмотреть файл


Двоичные данные
public/images/snack-130-5-600.webp Просмотреть файл


Двоичные данные
public/images/snack-130-5.webp Просмотреть файл


Двоичные данные
public/images/snack-131-0-600.webp Просмотреть файл


Двоичные данные
public/images/snack-131-0.webp Просмотреть файл


Двоичные данные
public/images/snack-131-1-600.webp Просмотреть файл


Двоичные данные
public/images/snack-131-1.webp Просмотреть файл


Двоичные данные
public/images/snack-131-2-600.webp Просмотреть файл


Двоичные данные
public/images/snack-131-2.webp Просмотреть файл


Двоичные данные
public/images/snack-131-3-600.webp Просмотреть файл


Двоичные данные
public/images/snack-131-3.webp Просмотреть файл


Двоичные данные
public/images/snack-136-0-600.webp Просмотреть файл


Двоичные данные
public/images/snack-136-0.webp Просмотреть файл


Двоичные данные
public/images/snack-136-1-600.webp Просмотреть файл


Двоичные данные
public/images/snack-136-1.webp Просмотреть файл


Двоичные данные
public/images/snack-136-2-600.webp Просмотреть файл


Двоичные данные
public/images/snack-136-2.webp Просмотреть файл


Двоичные данные
public/images/snack-136-3-600.webp Просмотреть файл


Двоичные данные
public/images/snack-136-3.webp Просмотреть файл


Двоичные данные
public/images/snack-136-4-600.webp Просмотреть файл


Двоичные данные
public/images/snack-136-4.webp Просмотреть файл


Двоичные данные
public/images/snack-145-0-600.webp Просмотреть файл


Двоичные данные
public/images/snack-145-0.webp Просмотреть файл


Двоичные данные
public/images/snack-145-1-600.webp Просмотреть файл


Двоичные данные
public/images/snack-145-1.webp Просмотреть файл


Двоичные данные
public/images/snack-145-2-600.webp Просмотреть файл


Двоичные данные
public/images/snack-145-2.webp Просмотреть файл


Двоичные данные
public/images/snack-147-0-600.webp Просмотреть файл


+ 0
- 0
public/images/snack-147-0.webp Просмотреть файл


Некоторые файлы не были показаны из-за большого количества измененных файлов

Загрузка…
Отмена
Сохранить