@networkpro/web 1.12.8 → 1.13.0

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 (104) hide show
  1. package/CHANGELOG.md +64 -1
  2. package/README.md +8 -8
  3. package/cspell.json +1 -0
  4. package/eslint.config.mjs +48 -48
  5. package/jsconfig.template.jsonc +3 -1
  6. package/netlify/edge-functions/csp-report.js +31 -31
  7. package/package.json +6 -6
  8. package/playwright.config.js +14 -14
  9. package/postcss.config.mjs +1 -1
  10. package/scripts/auditScripts.js +16 -16
  11. package/scripts/bundleCss.js +5 -5
  12. package/scripts/checkEnv.js +6 -6
  13. package/scripts/checkNode.js +10 -10
  14. package/scripts/checkVersions.js +6 -6
  15. package/scripts/flattenHeaders.js +13 -13
  16. package/scripts/generateTest.js +5 -5
  17. package/scripts/openReport.js +3 -3
  18. package/scripts/validateHeaders.js +13 -13
  19. package/src/hooks.client.ts +1 -1
  20. package/src/hooks.server.js +31 -31
  21. package/src/lib/components/Badges.svelte +9 -9
  22. package/src/lib/components/CodeBlock.svelte +13 -0
  23. package/src/lib/components/ContainerSection.svelte +1 -1
  24. package/src/lib/components/FullWidthSection.svelte +3 -3
  25. package/src/lib/components/LegalNav.svelte +6 -6
  26. package/src/lib/components/Logo.svelte +9 -9
  27. package/src/lib/components/MetaTags.svelte +3 -3
  28. package/src/lib/components/PWAInstallButton.svelte +4 -4
  29. package/src/lib/components/RedirectPage.svelte +4 -4
  30. package/src/lib/components/SocialMedia.svelte +16 -16
  31. package/src/lib/components/foss/FossItemContent.svelte +18 -18
  32. package/src/lib/components/layout/Footer.svelte +17 -17
  33. package/src/lib/components/layout/HeaderDefault.svelte +16 -16
  34. package/src/lib/components/layout/HeaderHome.svelte +14 -14
  35. package/src/lib/images.js +34 -34
  36. package/src/lib/index.js +15 -15
  37. package/src/lib/meta.js +29 -29
  38. package/src/lib/pages/AboutContent.svelte +24 -24
  39. package/src/lib/pages/FossContent.svelte +12 -12
  40. package/src/lib/pages/HomeContent.svelte +6 -6
  41. package/src/lib/pages/LicenseContent.svelte +38 -38
  42. package/src/lib/pages/PGPContent.svelte +61 -29
  43. package/src/lib/pages/PrivacyContent.svelte +39 -39
  44. package/src/lib/pages/PrivacyDashboard.svelte +12 -12
  45. package/src/lib/pages/TermsConditionsContent.svelte +28 -28
  46. package/src/lib/pages/TermsUseContent.svelte +26 -26
  47. package/src/lib/registerServiceWorker.js +25 -25
  48. package/src/lib/stores/posthog.js +13 -13
  49. package/src/lib/stores/trackingPreferences.js +19 -19
  50. package/src/lib/styles/css/default.css +5 -1
  51. package/src/lib/styles/global.min.css +1 -1
  52. package/src/lib/unregisterServiceWorker.js +1 -1
  53. package/src/lib/utils/purify.js +4 -4
  54. package/src/lib/utils/utm.js +2 -2
  55. package/src/routes/+error.svelte +4 -4
  56. package/src/routes/+layout.js +6 -6
  57. package/src/routes/+layout.svelte +29 -29
  58. package/src/routes/+page.server.js +2 -2
  59. package/src/routes/+page.svelte +9 -9
  60. package/src/routes/about/+page.server.js +2 -2
  61. package/src/routes/about/+page.svelte +7 -7
  62. package/src/routes/api/mock-csp/+server.js +3 -3
  63. package/src/routes/consultation/+page.svelte +5 -5
  64. package/src/routes/contact/+page.svelte +5 -5
  65. package/src/routes/foss-spotlight/+page.server.js +2 -2
  66. package/src/routes/foss-spotlight/+page.svelte +7 -7
  67. package/src/routes/license/+page.server.js +2 -2
  68. package/src/routes/license/+page.svelte +7 -7
  69. package/src/routes/pgp/+page.server.js +2 -2
  70. package/src/routes/pgp/+page.svelte +7 -7
  71. package/src/routes/pgp/[key]/+server.js +9 -9
  72. package/src/routes/privacy/+page.server.js +2 -2
  73. package/src/routes/privacy/+page.svelte +7 -7
  74. package/src/routes/privacy-dashboard/+page.server.js +2 -2
  75. package/src/routes/privacy-dashboard/+page.svelte +8 -8
  76. package/src/routes/privacy-rights/+page.svelte +5 -5
  77. package/src/routes/status/+page.server.js +2 -2
  78. package/src/routes/terms-conditions/+page.server.js +2 -2
  79. package/src/routes/terms-conditions/+page.svelte +7 -7
  80. package/src/routes/terms-of-use/+page.server.js +2 -2
  81. package/src/routes/terms-of-use/+page.svelte +7 -7
  82. package/src/service-worker.js +86 -85
  83. package/static/disableSw.js +2 -2
  84. package/static/img/powered-by-proton.svg +1 -0
  85. package/static/offline.html +7 -7
  86. package/static/sitemap.xml +64 -4
  87. package/stylelint.config.js +56 -56
  88. package/svelte.config.js +6 -6
  89. package/tests/e2e/app.spec.js +25 -25
  90. package/tests/e2e/mobile.spec.js +18 -18
  91. package/tests/e2e/shared/helpers.js +4 -4
  92. package/tests/internal/auditCoverage.test.js +24 -24
  93. package/tests/unit/checkEnv.test.js +10 -10
  94. package/tests/unit/checkVersions.test.js +4 -4
  95. package/tests/unit/csp-report.test.js +24 -24
  96. package/tests/unit/demo.test.js +3 -3
  97. package/tests/unit/lib/utils/purify.test.js +12 -12
  98. package/tests/unit/routes/page.svelte.test.js +10 -10
  99. package/tests/unit/unregisterServiceWorker.test.js +5 -5
  100. package/tests/unit/utm.test.js +13 -13
  101. package/vite.config.js +5 -5
  102. package/vitest-setup-client.js +4 -4
  103. package/vitest.config.client.js +15 -15
  104. package/vitest.config.server.js +13 -13
@@ -7,15 +7,15 @@ This file is part of Network Pro.
7
7
  ========================================================================== -->
8
8
 
9
9
  <script>
10
- import { base } from "$app/paths";
11
- import { onMount } from "svelte";
10
+ import { base } from '$app/paths';
11
+ import { onMount } from 'svelte';
12
12
  import {
13
13
  trackingPreferences,
14
14
  setOptIn,
15
15
  setOptOut,
16
16
  clearPrefs,
17
- } from "$lib/stores/trackingPreferences.js";
18
- import { CONSTANTS } from "$lib";
17
+ } from '$lib/stores/trackingPreferences.js';
18
+ import { CONSTANTS } from '$lib';
19
19
 
20
20
  const { COMPANY_INFO, CONTACT, PAGE, NAV } = CONSTANTS;
21
21
 
@@ -29,35 +29,35 @@ This file is part of Network Pro.
29
29
  const pdashLink = `${base}/privacy-dashboard`;
30
30
 
31
31
  /** @type {string} */
32
- const privacyLink = "https://docs.netwk.pro/privacy";
32
+ const privacyLink = 'https://docs.netwk.pro/privacy';
33
33
 
34
34
  /** @type {string} */
35
- const gpcLink = "https://globalprivacycontrol.org/";
35
+ const gpcLink = 'https://globalprivacycontrol.org/';
36
36
 
37
37
  /**
38
38
  * Table of Contents sections and their headings.
39
39
  * @type {{ id: string, text: string }[]}
40
40
  */
41
41
  const tocLinks = [
42
- { id: "intro", text: "Introduction" },
43
- { id: "collect", text: "Information We Collect" },
44
- { id: "tracking", text: "Web Analytics and Tracking" },
45
- { id: "payment", text: "Payment Information" },
46
- { id: "use", text: "Use of Information" },
47
- { id: "sharing", text: "Data Sharing" },
48
- { id: "security", text: "Data Security" },
49
- { id: "rights", text: "User Rights" },
50
- { id: "third-party", text: "Third-Party Links" },
51
- { id: "disclaimers", text: "Disclaimers and Limitations" },
52
- { id: "changes", text: "Policy Changes" },
53
- { id: "contact", text: "Contact" },
42
+ { id: 'intro', text: 'Introduction' },
43
+ { id: 'collect', text: 'Information We Collect' },
44
+ { id: 'tracking', text: 'Web Analytics and Tracking' },
45
+ { id: 'payment', text: 'Payment Information' },
46
+ { id: 'use', text: 'Use of Information' },
47
+ { id: 'sharing', text: 'Data Sharing' },
48
+ { id: 'security', text: 'Data Security' },
49
+ { id: 'rights', text: 'User Rights' },
50
+ { id: 'third-party', text: 'Third-Party Links' },
51
+ { id: 'disclaimers', text: 'Disclaimers and Limitations' },
52
+ { id: 'changes', text: 'Policy Changes' },
53
+ { id: 'contact', text: 'Contact' },
54
54
  ];
55
55
 
56
56
  /** @type {string} */
57
- const effectiveDate = "June 2, 2025";
57
+ const effectiveDate = 'June 2, 2025';
58
58
 
59
59
  /** @type {string} */
60
- const classSmall = "small-text";
60
+ const classSmall = 'small-text';
61
61
 
62
62
  /** @type {boolean} */
63
63
  let optedOut;
@@ -77,10 +77,10 @@ This file is part of Network Pro.
77
77
  */
78
78
  function toggleTracking(value) {
79
79
  if (value) {
80
- console.log("[Tracking] User opted out");
80
+ console.log('[Tracking] User opted out');
81
81
  setOptOut();
82
82
  } else {
83
- console.log("[Tracking] User cleared opt-out");
83
+ console.log('[Tracking] User cleared opt-out');
84
84
  clearPrefs();
85
85
  }
86
86
  }
@@ -91,16 +91,16 @@ This file is part of Network Pro.
91
91
  */
92
92
  function toggleOptIn(value) {
93
93
  if (value) {
94
- console.log("[Tracking] User opted in");
94
+ console.log('[Tracking] User opted in');
95
95
  setOptIn();
96
96
  } else {
97
- console.log("[Tracking] User cleared opt-in");
97
+ console.log('[Tracking] User cleared opt-in');
98
98
  clearPrefs();
99
99
  }
100
100
  }
101
101
 
102
102
  onMount(() => {
103
- console.log("[Tracking] Store initialized:", $trackingPreferences.status);
103
+ console.log('[Tracking] Store initialized:', $trackingPreferences.status);
104
104
  });
105
105
  </script>
106
106
 
@@ -133,7 +133,7 @@ This file is part of Network Pro.
133
133
  <nav id="toc">
134
134
  <ol>
135
135
  {#each tocLinks as link}
136
- <li><a href={"#" + link.id}>{link.text}</a></li>
136
+ <li><a href={'#' + link.id}>{link.text}</a></li>
137
137
  {/each}
138
138
  </ol>
139
139
  </nav>
@@ -157,7 +157,7 @@ This file is part of Network Pro.
157
157
  <h2>{i + 1}. {link.text}</h2>
158
158
 
159
159
  <!-- Dynamic Content for Each Section -->
160
- {#if link.id === "intro"}
160
+ {#if link.id === 'intro'}
161
161
  <p>
162
162
  Network Pro Strategies ("Company," "we," "us," or "our") is committed to
163
163
  protecting the privacy of clients and website visitors. This Privacy
@@ -174,7 +174,7 @@ This file is part of Network Pro.
174
174
  </a>
175
175
  </strong> (A.R.S. §§ 18-551, 18-552).
176
176
  </p>
177
- {:else if link.id === "collect"}
177
+ {:else if link.id === 'collect'}
178
178
  <ul>
179
179
  <li>
180
180
  <strong>Personal Identifiers</strong> (e.g., name, email, phone number)
@@ -190,7 +190,7 @@ This file is part of Network Pro.
190
190
  <strong>Client-Submitted Content</strong> related to our services
191
191
  </li>
192
192
  </ul>
193
- {:else if link.id === "tracking"}
193
+ {:else if link.id === 'tracking'}
194
194
  <p>
195
195
  To better understand visitor behavior and optimize website
196
196
  functionality, we use <strong>PostHog Cloud</strong>, a hosted version
@@ -236,7 +236,7 @@ This file is part of Network Pro.
236
236
 
237
237
  <h3>Tracking Preferences</h3>
238
238
 
239
- {#if trackingStatus && trackingStatus !== "⏳ Checking tracking preferences..."}
239
+ {#if trackingStatus && trackingStatus !== '⏳ Checking tracking preferences...'}
240
240
  <p id="tracking-status" aria-live="polite">
241
241
  <strong>Tracking Status:</strong>
242
242
  {trackingStatus}
@@ -292,13 +292,13 @@ This file is part of Network Pro.
292
292
  target={PAGE.BLANK}>PostHog's Privacy Policy</a
293
293
  >.
294
294
  </p>
295
- {:else if link.id === "payment"}
295
+ {:else if link.id === 'payment'}
296
296
  <p>
297
297
  When processing payments, we may collect credit card details and billing
298
298
  contact information. All credit card data is encrypted via TLS and
299
299
  shared only with PCI-compliant processors.
300
300
  </p>
301
- {:else if link.id === "use"}
301
+ {:else if link.id === 'use'}
302
302
  <p>Information is used to:</p>
303
303
  <ul>
304
304
  <li><strong>Provide and improve services</strong></li>
@@ -306,7 +306,7 @@ This file is part of Network Pro.
306
306
  <li><strong>Conduct analytics and enhance user experience</strong></li>
307
307
  <li><strong>Ensure legal and regulatory compliance</strong></li>
308
308
  </ul>
309
- {:else if link.id === "sharing"}
309
+ {:else if link.id === 'sharing'}
310
310
  <p>
311
311
  We do not sell personal information. However, we may share personal and
312
312
  business information under the following circumstances:
@@ -333,7 +333,7 @@ This file is part of Network Pro.
333
333
  continued confidentiality and compliance with applicable privacy laws.
334
334
  </li>
335
335
  </ul>
336
- {:else if link.id === "security"}
336
+ {:else if link.id === 'security'}
337
337
  <p>
338
338
  We implement industry-standard security measures to protect your data.
339
339
  However, no method of transmission over the Internet or electronic
@@ -342,7 +342,7 @@ This file is part of Network Pro.
342
342
  affected individuals in the event of a data breach involving personal
343
343
  information.
344
344
  </p>
345
- {:else if link.id === "rights"}
345
+ {:else if link.id === 'rights'}
346
346
  <h3>Your Rights and Choices</h3>
347
347
 
348
348
  <p
@@ -390,24 +390,24 @@ This file is part of Network Pro.
390
390
  <strong>{CONTACT.PRIVACY}</strong>
391
391
  with the subject line: "<strong>Privacy Rights Preferences</strong>".
392
392
  </p>
393
- {:else if link.id === "third-party"}
393
+ {:else if link.id === 'third-party'}
394
394
  <p>
395
395
  Our site may contain links to third-party sites. We are not responsible
396
396
  for their privacy practices.
397
397
  </p>
398
- {:else if link.id === "disclaimers"}
398
+ {:else if link.id === 'disclaimers'}
399
399
  <p>
400
400
  Network Pro Strategies offers informational content as a public service.
401
401
  No warranties are made regarding the accuracy or completeness of such
402
402
  content. Consulting services are governed by separate contracts. We
403
403
  disclaim liability for third-party services integrated or referenced.
404
404
  </p>
405
- {:else if link.id === "changes"}
405
+ {:else if link.id === 'changes'}
406
406
  <p>
407
407
  We may update this policy periodically. Changes are effective upon
408
408
  posting.
409
409
  </p>
410
- {:else if link.id === "contact"}
410
+ {:else if link.id === 'contact'}
411
411
  <p>
412
412
  For questions, please utilize our <a
413
413
  rel={PAGE.REL}
@@ -7,17 +7,17 @@ This file is part of Network Pro.
7
7
  ========================================================================== -->
8
8
 
9
9
  <script>
10
- import { base } from "$app/paths";
11
- import { onMount } from "svelte";
10
+ import { base } from '$app/paths';
11
+ import { onMount } from 'svelte';
12
12
 
13
13
  import {
14
14
  trackingPreferences,
15
15
  setOptIn,
16
16
  setOptOut,
17
17
  clearPrefs,
18
- } from "$lib/stores/trackingPreferences.js";
18
+ } from '$lib/stores/trackingPreferences.js';
19
19
 
20
- import { CONSTANTS } from "$lib";
20
+ import { CONSTANTS } from '$lib';
21
21
 
22
22
  const { CONTACT, PAGE, NAV } = CONSTANTS;
23
23
 
@@ -28,10 +28,10 @@ This file is part of Network Pro.
28
28
  const prightsLink = `${base}/privacy-rights`;
29
29
 
30
30
  /** @type {string} */
31
- const classSmall = "small-text";
31
+ const classSmall = 'small-text';
32
32
 
33
33
  /** @type {string} */
34
- const spaceStyle = "spacer";
34
+ const spaceStyle = 'spacer';
35
35
 
36
36
  /** @type {boolean} */
37
37
  let optedOut;
@@ -51,10 +51,10 @@ This file is part of Network Pro.
51
51
  */
52
52
  function toggleTracking(value) {
53
53
  if (value) {
54
- console.log("[Tracking] User opted out");
54
+ console.log('[Tracking] User opted out');
55
55
  setOptOut();
56
56
  } else {
57
- console.log("[Tracking] User cleared opt-out");
57
+ console.log('[Tracking] User cleared opt-out');
58
58
  clearPrefs();
59
59
  }
60
60
  }
@@ -65,17 +65,17 @@ This file is part of Network Pro.
65
65
  */
66
66
  function toggleOptIn(value) {
67
67
  if (value) {
68
- console.log("[Tracking] User opted in");
68
+ console.log('[Tracking] User opted in');
69
69
  setOptIn();
70
70
  } else {
71
- console.log("[Tracking] User cleared opt-in");
71
+ console.log('[Tracking] User cleared opt-in');
72
72
  clearPrefs();
73
73
  }
74
74
  }
75
75
 
76
76
  onMount(() => {
77
77
  console.log(
78
- "[PrivacyDashboard] Tracking status:",
78
+ '[PrivacyDashboard] Tracking status:',
79
79
  $trackingPreferences.status,
80
80
  );
81
81
  });
@@ -141,7 +141,7 @@ This file is part of Network Pro.
141
141
 
142
142
  &nbsp;
143
143
 
144
- {#if trackingStatus && trackingStatus !== "⏳ Checking tracking preferences..."}
144
+ {#if trackingStatus && trackingStatus !== '⏳ Checking tracking preferences...'}
145
145
  <p id="tracking-status" aria-live="polite">
146
146
  <strong>Tracking Status:</strong>
147
147
  {trackingStatus}
@@ -9,8 +9,8 @@ This file is part of Network Pro.
9
9
  <!-- cspell:ignore tandc -->
10
10
 
11
11
  <script>
12
- import { base } from "$app/paths";
13
- import { CONSTANTS } from "$lib";
12
+ import { base } from '$app/paths';
13
+ import { CONSTANTS } from '$lib';
14
14
 
15
15
  // Log the base path to verify its value
16
16
  //console.log("Base path:", base);
@@ -29,7 +29,7 @@ This file is part of Network Pro.
29
29
  * Markdown version of the Terms and Conditions document
30
30
  * @type {string}
31
31
  */
32
- const tandcLink = "https://docs.netwk.pro/terms-conditions";
32
+ const tandcLink = 'https://docs.netwk.pro/terms-conditions';
33
33
 
34
34
  /**
35
35
  * Common constants used throughout the component
@@ -39,8 +39,8 @@ This file is part of Network Pro.
39
39
  * }}
40
40
  */
41
41
  const constants = {
42
- effectiveDate: "May 8, 2025",
43
- classSmall: "small-text",
42
+ effectiveDate: 'May 8, 2025',
43
+ classSmall: 'small-text',
44
44
  };
45
45
 
46
46
  /**
@@ -48,17 +48,17 @@ This file is part of Network Pro.
48
48
  * @type {Array<{id: string, text: string}>}
49
49
  */
50
50
  const tocLinks = [
51
- { id: "intro", text: "Introduction" },
52
- { id: "scope", text: "Scope of Services" },
53
- { id: "warranties", text: "Disclaimer of Warranties" },
54
- { id: "risk", text: "Assumption of Risk" },
55
- { id: "liability", text: "Limitation of Liability" },
56
- { id: "indemnify", text: "Indemnification" },
57
- { id: "client", text: "Client Responsibilities" },
58
- { id: "law", text: "Governing Law and Jurisdiction" },
59
- { id: "accept", text: "Acceptance of Terms" },
60
- { id: "exceptions", text: "Exceptions and Negotiations" },
61
- { id: "changes", text: "Changes to These Terms" },
51
+ { id: 'intro', text: 'Introduction' },
52
+ { id: 'scope', text: 'Scope of Services' },
53
+ { id: 'warranties', text: 'Disclaimer of Warranties' },
54
+ { id: 'risk', text: 'Assumption of Risk' },
55
+ { id: 'liability', text: 'Limitation of Liability' },
56
+ { id: 'indemnify', text: 'Indemnification' },
57
+ { id: 'client', text: 'Client Responsibilities' },
58
+ { id: 'law', text: 'Governing Law and Jurisdiction' },
59
+ { id: 'accept', text: 'Acceptance of Terms' },
60
+ { id: 'exceptions', text: 'Exceptions and Negotiations' },
61
+ { id: 'changes', text: 'Changes to These Terms' },
62
62
  ];
63
63
  </script>
64
64
 
@@ -90,7 +90,7 @@ This file is part of Network Pro.
90
90
  <h2>Table of Contents</h2>
91
91
  <ol>
92
92
  {#each tocLinks as link}
93
- <li><a href={"#" + link.id}>{link.text}</a></li>
93
+ <li><a href={'#' + link.id}>{link.text}</a></li>
94
94
  {/each}
95
95
  </ol>
96
96
  </nav>
@@ -123,7 +123,7 @@ This file is part of Network Pro.
123
123
  <section id={link.id}>
124
124
  <h2>{i + 1}. {link.text}</h2>
125
125
 
126
- {#if link.id === "intro"}
126
+ {#if link.id === 'intro'}
127
127
  <p>
128
128
  By engaging with the information security, network security,
129
129
  cybersecurity, and digital privacy consulting and implementation
@@ -135,7 +135,7 @@ This file is part of Network Pro.
135
135
  </strong>
136
136
  If you do not agree to these Terms, please do not engage our services.
137
137
  </p>
138
- {:else if link.id === "scope"}
138
+ {:else if link.id === 'scope'}
139
139
  <p>
140
140
  These Terms apply to all consulting and implementation services offered
141
141
  by the Company, including but not limited to assessment, planning, risk
@@ -147,7 +147,7 @@ This file is part of Network Pro.
147
147
  when applicable.
148
148
  </strong>
149
149
  </p>
150
- {:else if link.id === "warranties"}
150
+ {:else if link.id === 'warranties'}
151
151
  <p>
152
152
  All services are provided "as is" and "as available" without warranties
153
153
  of any kind, whether express, implied, statutory, or otherwise. The
@@ -157,7 +157,7 @@ This file is part of Network Pro.
157
157
  will detect or prevent all security threats or achieve legal or
158
158
  regulatory compliance unless specifically agreed in writing.
159
159
  </p>
160
- {:else if link.id === "risk"}
160
+ {:else if link.id === 'risk'}
161
161
  <p>
162
162
  Client acknowledges that cybersecurity and privacy-related services
163
163
  inherently involve risk. The Company does not guarantee uninterrupted
@@ -166,7 +166,7 @@ This file is part of Network Pro.
166
166
  our recommendations and agrees to maintain appropriate internal controls
167
167
  and backup protocols.
168
168
  </p>
169
- {:else if link.id === "liability"}
169
+ {:else if link.id === 'liability'}
170
170
  <p>
171
171
  To the maximum extent permitted by law, the Company shall not be liable
172
172
  for any indirect, incidental, consequential, special, or punitive
@@ -176,7 +176,7 @@ This file is part of Network Pro.
176
176
  such damages. Direct damages, if any, shall be limited to the amount
177
177
  paid by Client for the specific services giving rise to the claim.
178
178
  </p>
179
- {:else if link.id === "indemnify"}
179
+ {:else if link.id === 'indemnify'}
180
180
  <p>
181
181
  Client agrees to indemnify, defend, and hold harmless the Company, its
182
182
  officers, employees, contractors, and affiliates from and against any
@@ -185,7 +185,7 @@ This file is part of Network Pro.
185
185
  services, (ii) misconfiguration of systems by Client, or (iii)
186
186
  third-party claims related to services rendered under these Terms.
187
187
  </p>
188
- {:else if link.id === "client"}
188
+ {:else if link.id === 'client'}
189
189
  <p>
190
190
  <strong>
191
191
  Client shall provide valid, secure, and licensed infrastructure,
@@ -197,7 +197,7 @@ This file is part of Network Pro.
197
197
  with any regulatory frameworks (e.g., HIPAA, GDPR, PCI-DSS) is the sole responsibility
198
198
  of the Client unless explicitly agreed otherwise in a separate written agreement.
199
199
  </p>
200
- {:else if link.id === "law"}
200
+ {:else if link.id === 'law'}
201
201
  <p>
202
202
  These Terms shall be governed by and construed under the laws of the
203
203
  State of Arizona and applicable U.S. federal laws. Any disputes shall be
@@ -205,14 +205,14 @@ This file is part of Network Pro.
205
205
  County, Arizona, and both parties consent to such jurisdiction and
206
206
  venue.
207
207
  </p>
208
- {:else if link.id === "accept"}
208
+ {:else if link.id === 'accept'}
209
209
  <p>
210
210
  Engagement with the Company's services constitutes acceptance of these
211
211
  Terms. Continued use of services after any updates indicates continued
212
212
  acceptance. These Terms are effective unless and until terminated or
213
213
  modified in writing by mutual agreement.
214
214
  </p>
215
- {:else if link.id === "exceptions"}
215
+ {:else if link.id === 'exceptions'}
216
216
  <p>
217
217
  <strong>
218
218
  The Company is open to negotiating specific terms upon mutual
@@ -222,7 +222,7 @@ This file is part of Network Pro.
222
222
  parties. Flexibility may be offered provided such changes do not impose undue
223
223
  liability or regulatory obligations on the Company.
224
224
  </p>
225
- {:else if link.id === "changes"}
225
+ {:else if link.id === 'changes'}
226
226
  <p>
227
227
  The Company reserves the right to revise these Terms at any time.
228
228
  Updated versions will be posted on our website or delivered via direct
@@ -9,8 +9,8 @@ This file is part of Network Pro.
9
9
  <!-- cspell:ignore tandc -->
10
10
 
11
11
  <script>
12
- import { base } from "$app/paths";
13
- import { CONSTANTS } from "$lib";
12
+ import { base } from '$app/paths';
13
+ import { CONSTANTS } from '$lib';
14
14
 
15
15
  // Log the base path to verify its value
16
16
  //console.log("Base path:", base);
@@ -41,23 +41,23 @@ This file is part of Network Pro.
41
41
  * Markdown version of the Terms of Use document
42
42
  * @type {string}
43
43
  */
44
- const termsLink = "https://docs.netwk.pro/terms-use";
44
+ const termsLink = 'https://docs.netwk.pro/terms-use';
45
45
 
46
46
  /**
47
47
  * Table of Contents Links
48
48
  * @type {{ id: string, text: string }[]}
49
49
  */
50
50
  const tocLinks = [
51
- { id: "introduction", text: "Introduction" },
52
- { id: "platforms", text: "Platforms Covered" },
53
- { id: "acceptable-use", text: "Acceptable Use" },
54
- { id: "warranty", text: "Disclaimer of Warranties" },
55
- { id: "risk", text: "Assumption of Risk" },
56
- { id: "liability", text: "Limitation of Liability" },
57
- { id: "indemnification", text: "Indemnification" },
58
- { id: "jurisdiction", text: "Governing Law and Jurisdiction" },
59
- { id: "acceptance", text: "Acceptance of Terms" },
60
- { id: "changes", text: "Changes to This Policy" },
51
+ { id: 'introduction', text: 'Introduction' },
52
+ { id: 'platforms', text: 'Platforms Covered' },
53
+ { id: 'acceptable-use', text: 'Acceptable Use' },
54
+ { id: 'warranty', text: 'Disclaimer of Warranties' },
55
+ { id: 'risk', text: 'Assumption of Risk' },
56
+ { id: 'liability', text: 'Limitation of Liability' },
57
+ { id: 'indemnification', text: 'Indemnification' },
58
+ { id: 'jurisdiction', text: 'Governing Law and Jurisdiction' },
59
+ { id: 'acceptance', text: 'Acceptance of Terms' },
60
+ { id: 'changes', text: 'Changes to This Policy' },
61
61
  ];
62
62
 
63
63
  /**
@@ -65,8 +65,8 @@ This file is part of Network Pro.
65
65
  * @type {{ effectiveDate: string, classSmall: string }}
66
66
  */
67
67
  const constants = {
68
- effectiveDate: "May 21, 2025",
69
- classSmall: "small-text",
68
+ effectiveDate: 'May 21, 2025',
69
+ classSmall: 'small-text',
70
70
  };
71
71
  </script>
72
72
 
@@ -99,7 +99,7 @@ This file is part of Network Pro.
99
99
  <h3>Table of Contents</h3>
100
100
  <ol>
101
101
  {#each tocLinks as link}
102
- <li><a href={"#" + link.id}>{link.text}</a></li>
102
+ <li><a href={'#' + link.id}>{link.text}</a></li>
103
103
  {/each}
104
104
  </ol>
105
105
  </nav>
@@ -130,14 +130,14 @@ This file is part of Network Pro.
130
130
  <section id={link.id}>
131
131
  <h2>{i + 1}. {link.text}</h2>
132
132
 
133
- {#if link.id === "introduction"}
133
+ {#if link.id === 'introduction'}
134
134
  <p>
135
135
  Welcome! By accessing or using any of the platforms operated by {COMPANY_INFO.NAME}
136
136
  ("Company," "we," "us," or "our"), you agree to be bound by these Terms of
137
137
  Use ("Terms"). If you do not agree to these Terms, please refrain from using
138
138
  our services.
139
139
  </p>
140
- {:else if link.id === "platforms"}
140
+ {:else if link.id === 'platforms'}
141
141
  <p>
142
142
  These Terms of Use apply to all platforms associated with the Company,
143
143
  including but not limited to:
@@ -148,7 +148,7 @@ This file is part of Network Pro.
148
148
  platforms).
149
149
  </strong>
150
150
  </p>
151
- {:else if link.id === "acceptable-use"}
151
+ {:else if link.id === 'acceptable-use'}
152
152
  <p>
153
153
  You agree not to use our platforms or services to engage in conduct that
154
154
  is
@@ -164,7 +164,7 @@ This file is part of Network Pro.
164
164
  <li>Violating third-party rights or laws</li>
165
165
  <li>Interfering with platform functionality or availability</li>
166
166
  </ul>
167
- {:else if link.id === "warranty"}
167
+ {:else if link.id === 'warranty'}
168
168
  <p>
169
169
  Our platforms and services are provided "as is" and "as available,"
170
170
  without any express or implied warranties. We make no guarantees
@@ -172,7 +172,7 @@ This file is part of Network Pro.
172
172
  disclaimer does not apply to our consulting and implementation services,
173
173
  nor any payment portals or associated services.
174
174
  </p>
175
- {:else if link.id === "risk"}
175
+ {:else if link.id === 'risk'}
176
176
  <p>
177
177
  Your use of our platforms is at your own risk. We do not guarantee the
178
178
  security, integrity, or reliability of data stored on external or
@@ -180,7 +180,7 @@ This file is part of Network Pro.
180
180
  consulting and implementation services, nor any payment portals or
181
181
  associated services.
182
182
  </p>
183
- {:else if link.id === "liability"}
183
+ {:else if link.id === 'liability'}
184
184
  <p>
185
185
  To the fullest extent permitted by law, the Company, its affiliates,
186
186
  owners, operators, and contributors shall not be liable for any direct,
@@ -188,14 +188,14 @@ This file is part of Network Pro.
188
188
  not limited to data loss, loss of profits, or damages arising from
189
189
  reliance on or use of our platforms.
190
190
  </p>
191
- {:else if link.id === "indemnification"}
191
+ {:else if link.id === 'indemnification'}
192
192
  <p>
193
193
  You agree to indemnify, defend, and hold harmless the Company, its
194
194
  affiliates, owners, operators, and contributors from any claims,
195
195
  damages, liabilities, losses, or expenses (including legal fees) arising
196
196
  from or related to your use of our services.
197
197
  </p>
198
- {:else if link.id === "jurisdiction"}
198
+ {:else if link.id === 'jurisdiction'}
199
199
  <p>
200
200
  {COMPANY_INFO.NAME} is based in Maricopa County, Arizona. Any legal action
201
201
  or dispute arising from these Terms of Use shall be subject to the exclusive
@@ -204,13 +204,13 @@ This file is part of Network Pro.
204
204
  <strong>Arizona Revised Statutes (A.R.S.)</strong> and applicable
205
205
  provisions of the <strong>United States Code (U.S.C.)</strong>.
206
206
  </p>
207
- {:else if link.id === "acceptance"}
207
+ {:else if link.id === 'acceptance'}
208
208
  <p>
209
209
  By accessing or using our platforms, you acknowledge and agree to these
210
210
  Terms of Use. Continued use of our services constitutes ongoing
211
211
  acceptance of these Terms.
212
212
  </p>
213
- {:else if link.id === "changes"}
213
+ {:else if link.id === 'changes'}
214
214
  <p>
215
215
  We may update these Terms of Use periodically. Updates will be posted on
216
216
  this page with an updated effective date and will reflect any relevant