@networkpro/web 0.13.1 → 1.0.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 (282) hide show
  1. package/CODE_OF_CONDUCT.md +172 -0
  2. package/LICENSE.md +4 -4
  3. package/README.md +11 -10
  4. package/assets/bin/contact.vcf +13 -0
  5. package/assets/bin/contact@s.neteng.pro.aexpk +17 -0
  6. package/assets/bin/contact@s.neteng.pro.asc +17 -0
  7. package/assets/bin/github@sl.neteng.cc.aexpk +29 -0
  8. package/assets/bin/github@sl.neteng.cc.asc +29 -0
  9. package/assets/bin/linksheet.json +8 -0
  10. package/assets/bin/support@neteng.pro.aexpk +47 -0
  11. package/assets/bin/support@neteng.pro.asc +47 -0
  12. package/assets/consulting-terms.pdf +0 -0
  13. package/eslint.config.mjs +112 -0
  14. package/jsconfig.json +28 -0
  15. package/netlify.toml +13 -0
  16. package/package.json +64 -61
  17. package/playwright.config.js +79 -0
  18. package/postcss.config.mjs +14 -0
  19. package/scripts/bundleCss.js +40 -0
  20. package/src/app.d.ts +15 -0
  21. package/src/app.html +81 -0
  22. package/src/demo.spec.js +14 -0
  23. package/src/lib/components/Badges.svelte +74 -0
  24. package/src/lib/components/ContainerSection.svelte +19 -0
  25. package/src/lib/components/FullWidthSection.svelte +13 -0
  26. package/src/lib/components/LegalNav.svelte +75 -0
  27. package/src/lib/components/Logo.svelte +110 -0
  28. package/src/lib/components/SocialMedia.svelte +70 -0
  29. package/src/lib/components/foss/FossFeatures.svelte +24 -0
  30. package/src/lib/components/foss/FossItemContent.svelte +153 -0
  31. package/src/lib/components/layout/Footer.svelte +188 -0
  32. package/src/lib/components/layout/HeaderDefault.svelte +86 -0
  33. package/src/lib/components/layout/HeaderHome.svelte +84 -0
  34. package/src/lib/data/fossData.js +233 -0
  35. package/src/lib/images.js +77 -0
  36. package/src/lib/img/badges/cc-by-badge.png +0 -0
  37. package/src/lib/img/badges/gpl-badge.svg +1 -0
  38. package/src/lib/img/by.svg +1 -0
  39. package/src/lib/img/cc.svg +1 -0
  40. package/src/lib/img/logo-web.png +0 -0
  41. package/src/lib/img/logo-web.webp +0 -0
  42. package/src/lib/img/obtainium.webp +0 -0
  43. package/src/lib/img/posts/acode.png +0 -0
  44. package/src/lib/img/posts/acode.webp +0 -0
  45. package/src/lib/img/posts/linksheet.png +0 -0
  46. package/src/lib/img/posts/linksheet.webp +0 -0
  47. package/src/lib/img/posts/pmx.png +0 -0
  48. package/src/lib/img/posts/pmx.webp +0 -0
  49. package/src/lib/img/posts/tosdr.png +0 -0
  50. package/src/lib/img/posts/tosdr.webp +0 -0
  51. package/src/lib/img/posts/urlcheck.png +0 -0
  52. package/src/lib/img/posts/urlcheck.webp +0 -0
  53. package/src/lib/index.js +43 -0
  54. package/src/lib/pages/AboutContent.svelte +294 -0
  55. package/src/lib/pages/FossContent.svelte +109 -0
  56. package/src/lib/pages/HomeContent.svelte +120 -0
  57. package/src/lib/pages/LicenseContent.svelte +486 -0
  58. package/src/lib/pages/PrivacyContent.svelte +249 -0
  59. package/src/lib/pages/TermsConditionsContent.svelte +240 -0
  60. package/src/lib/pages/TermsUseContent.svelte +236 -0
  61. package/src/lib/registerServiceWorker.js +65 -0
  62. package/src/lib/styles/css/brands.css +76 -0
  63. package/src/lib/styles/css/brands.min.css +6 -0
  64. package/src/lib/styles/css/default.css +454 -0
  65. package/src/lib/styles/css/fontawesome.min.css +9 -0
  66. package/src/lib/styles/css/global.css +10 -0
  67. package/src/lib/styles/css/normalize.css +349 -0
  68. package/src/lib/styles/css/offline.css +120 -0
  69. package/src/lib/styles/css/solid.min.css +6 -0
  70. package/src/lib/styles/css/style.css +310 -0
  71. package/src/lib/styles/fa-global.css +10 -0
  72. package/src/lib/styles/global.min.css +9 -0
  73. package/src/lib/styles/index.js +11 -0
  74. package/src/lib/styles/webfonts/fa-brands-400.ttf +0 -0
  75. package/src/lib/styles/webfonts/fa-brands-400.woff2 +0 -0
  76. package/src/lib/styles/webfonts/fa-solid-900.ttf +0 -0
  77. package/src/lib/styles/webfonts/fa-solid-900.woff2 +0 -0
  78. package/src/routes/+error.svelte +43 -0
  79. package/src/routes/+layout.js +94 -0
  80. package/src/routes/+layout.svelte +110 -0
  81. package/src/routes/+page.svelte +77 -0
  82. package/src/routes/about/+page.svelte +61 -0
  83. package/src/routes/contact/+page.server.js +24 -0
  84. package/src/routes/example.svx +9 -0
  85. package/src/routes/foss-spotlight/+page.svelte +63 -0
  86. package/src/routes/license/+page.svelte +63 -0
  87. package/src/routes/page.svelte.test.js +18 -0
  88. package/src/routes/privacy-policy/+page.svelte +63 -0
  89. package/src/routes/privacy-rights/+page.server.js +24 -0
  90. package/src/routes/terms-conditions/+page.svelte +63 -0
  91. package/src/routes/terms-of-use/+page.svelte +63 -0
  92. package/src/service-worker.d.ts +4 -0
  93. package/src/service-worker.js +90 -0
  94. package/static/icon-512x512-maskable.png +0 -0
  95. package/static/icon-contact.png +0 -0
  96. package/static/icon-services.png +0 -0
  97. package/static/img/svelte.png +0 -0
  98. package/static/manifest.json +64 -0
  99. package/static/offline.html +79 -0
  100. package/static/offline.min.css +7 -0
  101. package/{robots.txt → static/robots.txt} +0 -2
  102. package/static/sitemap.xml +102 -0
  103. package/stylelint.config.js +118 -0
  104. package/svelte.config.js +56 -0
  105. package/tests/app.spec.js +67 -0
  106. package/tests/mobile.spec.js +58 -0
  107. package/tests-examples/demo-todo-app.spec.js +504 -0
  108. package/tsconfig.custom.json +39 -0
  109. package/vite.config.js +19 -0
  110. package/vitest-setup-client.js +33 -0
  111. package/vitest.config.client.js +34 -0
  112. package/vitest.config.server.js +30 -0
  113. package/404.html +0 -84
  114. package/about.html +0 -334
  115. package/about.html.br +0 -0
  116. package/about.html.gz +0 -0
  117. package/bundle-report.html +0 -39
  118. package/css/default.css +0 -1
  119. package/css/normalize.css +0 -1
  120. package/css/style.css +0 -1
  121. package/docs/404.html +0 -1187
  122. package/docs/assets/external/avatars.githubusercontent.com/u/170266279.png +0 -0
  123. package/docs/assets/external/img.shields.io/badge/GitHub_Package_Registry-white.ed8def48.svg +0 -1
  124. package/docs/assets/external/img.shields.io/badge/npmjs-white.681714c1.svg +0 -1
  125. package/docs/assets/external/mirrors.creativecommons.org/presskit/icons/by.svg +0 -20
  126. package/docs/assets/external/mirrors.creativecommons.org/presskit/icons/cc.svg +0 -27
  127. package/docs/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +0 -2607
  128. package/docs/assets/images/favicon.png +0 -0
  129. package/docs/assets/javascripts/bundle.c8b220af.min.js +0 -16
  130. package/docs/assets/javascripts/bundle.c8b220af.min.js.map +0 -7
  131. package/docs/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  132. package/docs/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  133. package/docs/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  134. package/docs/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  135. package/docs/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
  136. package/docs/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  137. package/docs/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  138. package/docs/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  139. package/docs/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
  140. package/docs/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  141. package/docs/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  142. package/docs/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  143. package/docs/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  144. package/docs/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  145. package/docs/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  146. package/docs/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  147. package/docs/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  148. package/docs/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  149. package/docs/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  150. package/docs/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  151. package/docs/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  152. package/docs/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  153. package/docs/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  154. package/docs/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  155. package/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  156. package/docs/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  157. package/docs/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  158. package/docs/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  159. package/docs/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  160. package/docs/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  161. package/docs/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  162. package/docs/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  163. package/docs/assets/javascripts/lunr/tinyseg.js +0 -206
  164. package/docs/assets/javascripts/lunr/wordcut.js +0 -6708
  165. package/docs/assets/javascripts/workers/search.f8cc74c7.min.js +0 -42
  166. package/docs/assets/javascripts/workers/search.f8cc74c7.min.js.map +0 -7
  167. package/docs/assets/stylesheets/main.2afb09e1.min.css +0 -1
  168. package/docs/assets/stylesheets/main.2afb09e1.min.css.map +0 -1
  169. package/docs/assets/stylesheets/palette.06af60db.min.css +0 -1
  170. package/docs/assets/stylesheets/palette.06af60db.min.css.map +0 -1
  171. package/docs/blog/2015/01/04/secure-secure-shell/index.html +0 -1771
  172. package/docs/blog/2025/04/30/our-blog-is-live/index.html +0 -1436
  173. package/docs/blog/archive/2015/index.html +0 -1303
  174. package/docs/blog/archive/2025/index.html +0 -1291
  175. package/docs/blog/category/security/index.html +0 -1303
  176. package/docs/blog/index.html +0 -1350
  177. package/docs/conduct/index.html +0 -1509
  178. package/docs/feed_json_created.json +0 -1
  179. package/docs/feed_json_updated.json +0 -1
  180. package/docs/feed_rss_created.xml +0 -1
  181. package/docs/feed_rss_updated.xml +0 -1
  182. package/docs/fontawesome/LICENSE.txt +0 -165
  183. package/docs/fontawesome/brands/facebook.svg +0 -1
  184. package/docs/fontawesome/brands/instagram.svg +0 -1
  185. package/docs/fontawesome/brands/linkedin.svg +0 -1
  186. package/docs/fontawesome/brands/mastodon.svg +0 -1
  187. package/docs/fontawesome/solid/at.svg +0 -1
  188. package/docs/index.html +0 -1395
  189. package/docs/legal/index.html +0 -1740
  190. package/docs/privacy/index.html +0 -1615
  191. package/docs/search/search_index.json +0 -1
  192. package/docs/sitemap.xml +0 -55
  193. package/docs/sitemap.xml.gz +0 -0
  194. package/docs/tags/index.html +0 -2084
  195. package/docs/terms-conditions/index.html +0 -1655
  196. package/docs/terms-use/index.html +0 -1584
  197. package/favicon-192.png +0 -0
  198. package/favicon-512.png +0 -0
  199. package/favicon.svg.br +0 -0
  200. package/favicon.svg.gz +0 -0
  201. package/html/spotlight.html +0 -435
  202. package/html/spotlight.html.br +0 -0
  203. package/html/spotlight.html.gz +0 -0
  204. package/img/banner-1280x640.png +0 -0
  205. package/img/banner-1440.png +0 -0
  206. package/img/banner-og-1200x630.png +0 -0
  207. package/img/favicon-template.png +0 -0
  208. package/img/fb-cover.png +0 -0
  209. package/img/fb-cover2.png +0 -0
  210. package/img/fsf-member.png +0 -0
  211. package/img/gh-logo.png +0 -0
  212. package/img/gpl3-small.png +0 -0
  213. package/img/gpl3.png +0 -0
  214. package/img/linkedin-banner-new.png +0 -0
  215. package/img/linkedin-banner.png +0 -0
  216. package/img/linkedin-banner2.png +0 -0
  217. package/img/logo-1024x1024.png +0 -0
  218. package/img/logo-alt.png +0 -0
  219. package/img/logo-elevated.png +0 -0
  220. package/img/logo-light-elevated.png +0 -0
  221. package/img/logo-light-slogan.png +0 -0
  222. package/img/logo-light.png +0 -0
  223. package/img/logo-slogan.png +0 -0
  224. package/img/logo-transparent-black-small.png +0 -0
  225. package/img/logo-transparent-black.png +0 -0
  226. package/img/logo-transparent-elevated.png +0 -0
  227. package/img/logo-transparent-slogan.png +0 -0
  228. package/img/mastodon-banner.png +0 -0
  229. package/img/netpro-logo-transparent.png +0 -0
  230. package/img/posts/acode.png +0 -0
  231. package/img/posts/linksheet.png +0 -0
  232. package/img/posts/tosdr.png +0 -0
  233. package/img/posts/urlcheck.png +0 -0
  234. package/img/qr/pgp-github.png +0 -0
  235. package/img/qr/pgp-support.png +0 -0
  236. package/img/qr/vcard.png +0 -0
  237. package/img/sd311.png +0 -0
  238. package/img/shield.png +0 -0
  239. package/img/shield.svg +0 -1
  240. package/img/shield.svg.br +0 -0
  241. package/img/shield.svg.gz +0 -0
  242. package/img/shield2.png +0 -0
  243. package/img/shield3-2000x2000.png +0 -0
  244. package/img/shield3-black-1024x1024.png +0 -0
  245. package/img/shield3-black.png +0 -0
  246. package/img/shield3-white.png +0 -0
  247. package/img/trademark.jpg +0 -0
  248. package/index.html +0 -268
  249. package/index.html.br +0 -0
  250. package/index.html.gz +0 -0
  251. package/js/app.d544156ea2ba85a7d486.mjs +0 -1
  252. package/js/runtime.52b1ac291305b90de3df.mjs +0 -1
  253. package/js/vendor/.gitkeep +0 -0
  254. package/legal.html +0 -535
  255. package/legal.html.br +0 -0
  256. package/legal.html.gz +0 -0
  257. package/privacy.html +0 -404
  258. package/privacy.html.br +0 -0
  259. package/privacy.html.gz +0 -0
  260. package/site.webmanifest +0 -25
  261. package/sitemap.xml +0 -177
  262. package/terms-and-conditions.html +0 -409
  263. package/terms-and-conditions.html.br +0 -0
  264. package/terms-and-conditions.html.gz +0 -0
  265. package/terms-of-use.html +0 -380
  266. package/terms-of-use.html.br +0 -0
  267. package/terms-of-use.html.gz +0 -0
  268. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master/assets → assets}/nsa-happy-dance.png +0 -0
  269. /package/{favicon.svg → src/lib/img/favicon.svg} +0 -0
  270. /package/{favicon-180.png → src/lib/img/icon-180x180.png} +0 -0
  271. /package/{img/badge_obtainium.png → src/lib/img/obtainium.png} +0 -0
  272. /package/{img → src/lib/img}/qr/pgp-contact.png +0 -0
  273. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/pgp-github.png +0 -0
  274. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/pgp-support.png +0 -0
  275. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/vcard.png +0 -0
  276. /package/{CNAME → static/CNAME} +0 -0
  277. /package/{favicon.ico → static/favicon.ico} +0 -0
  278. /package/{docs/img/favicon.png → static/icon-192x192.png} +0 -0
  279. /package/{docs/img/logo.png → static/icon-512x512.png} +0 -0
  280. /package/{favicon-splash.png → static/icon-splash.png} +0 -0
  281. /package/{img → static/img}/logo-transparent.png +0 -0
  282. /package/{img → static/img}/logo.png +0 -0
@@ -0,0 +1,236 @@
1
+ <!-- ==========================================================================
2
+ src/lib/pages/TermsUseContent.svelte
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
5
+ This file is part of Network Pro.
6
+ ========================================================================== -->
7
+
8
+ <script>
9
+ import { base } from "$app/paths";
10
+
11
+ // Log the base path to verify its value
12
+ //console.log("Base path:", base);
13
+
14
+ /**
15
+ * URL to Terms and Conditions page, using the base path
16
+ * @type {string}
17
+ */
18
+ const tandcLink = `${base}/terms-conditions`;
19
+
20
+ /**
21
+ * URL to Privacy Policy page, using the base path
22
+ * @type {string}
23
+ */
24
+ const privacyLink = `${base}/privacy-policy`;
25
+
26
+ /**
27
+ * URL to License page, using the base path
28
+ * @type {string}
29
+ */
30
+ const licenseLink = `${base}/license`;
31
+
32
+ /**
33
+ * Markdown version of the Terms of Use document
34
+ * @type {string}
35
+ */
36
+ const termsLink = "https://docs.netwk.pro/terms-use";
37
+
38
+ /**
39
+ * Table of Contents Links
40
+ * @type {{ id: string, text: string }[]}
41
+ */
42
+ const tocLinks = [
43
+ { id: "introduction", text: "Introduction" },
44
+ { id: "platforms", text: "Platforms Covered" },
45
+ { id: "acceptable-use", text: "Acceptable Use" },
46
+ { id: "warranty", text: "Disclaimer of Warranties" },
47
+ { id: "risk", text: "Assumption of Risk" },
48
+ { id: "liability", text: "Limitation of Liability" },
49
+ { id: "indemnification", text: "Indemnification" },
50
+ { id: "jurisdiction", text: "Governing Law and Jurisdiction" },
51
+ { id: "acceptance", text: "Acceptance of Terms" },
52
+ { id: "changes", text: "Changes to This Policy" },
53
+ ];
54
+
55
+ /**
56
+ * Constants for reusable content
57
+ * @type {{ company: string, effectiveDate: string, classSmall: string, rel: string, hrefTop: string, targetBlank: string, targetSelf: string }}
58
+ */
59
+ const constants = {
60
+ company: "Network Pro Strategies",
61
+ effectiveDate: "May 8, 2025",
62
+ classSmall: "small-text",
63
+ rel: "noopener noreferrer",
64
+ hrefTop: "#top",
65
+ targetBlank: "_blank",
66
+ targetSelf: "_self",
67
+ };
68
+ </script>
69
+
70
+ <!-- BEGIN TITLE -->
71
+ <section id="top">
72
+ <span class={constants.classSmall}>
73
+ <a
74
+ rel={constants.rel}
75
+ href="https://spdx.dev/learn/handling-license-info"
76
+ target={constants.targetBlank}>
77
+ SPDX License Identifier
78
+ </a>
79
+ : &nbsp;<code>CC-BY-4.0 OR GPL-3.0-or-later</code>
80
+ </span>
81
+ </section>
82
+
83
+ <section id="page-title">
84
+ <h1>Website Terms of Use</h1>
85
+ <p>
86
+ <strong>{constants.company}</strong><br />
87
+ <strong>Effective Date:</strong>
88
+ {constants.effectiveDate}
89
+ </p>
90
+ </section>
91
+ <!-- END TITLE -->
92
+
93
+ &nbsp;
94
+
95
+ <!-- BEGIN TERMS OF USE -->
96
+ <nav id="toc">
97
+ <h3>Table of Contents</h3>
98
+ <ol>
99
+ {#each tocLinks as link}
100
+ <li><a href={"#" + link.id}>{link.text}</a></li>
101
+ {/each}
102
+ </ol>
103
+ </nav>
104
+
105
+ <p class="bquote">
106
+ These Terms of Use specifically govern the use of services and platforms made
107
+ available via this website and its associated web properties. For provisions
108
+ governing our consulting and implementation services, please refer to the
109
+ applicable
110
+ <a href={tandcLink} target={constants.targetSelf}>Terms and Conditions</a>.
111
+ </p>
112
+
113
+ <hr />
114
+
115
+ <section id="formats">
116
+ <p>
117
+ <sup>
118
+ <strong>Formats Available:</strong> &nbsp;<span class="visited"
119
+ >HTML</span>
120
+ |
121
+ <a rel={constants.rel} href={termsLink} target={constants.targetSelf}
122
+ >Markdown</a>
123
+ </sup>
124
+ </p>
125
+ </section>
126
+
127
+ <!-- POLICY SECTIONS -->
128
+ {#each tocLinks as link, i}
129
+ <section id={link.id}>
130
+ <h2>{i + 1}. {link.text}</h2>
131
+
132
+ {#if link.id === "introduction"}
133
+ <p>
134
+ Welcome! By accessing or using any of the platforms operated by {constants.company}
135
+ ("Company," "we," "us," or "our"), you agree to be bound by these Terms of
136
+ Use ("Terms"). If you do not agree to these Terms, please refrain from using
137
+ our services.
138
+ </p>
139
+ {:else if link.id === "platforms"}
140
+ <p>
141
+ These Terms of Use apply to all platforms associated with the Company,
142
+ including but not limited to:
143
+ <strong>
144
+ GitHub, our main website (hosted via GitHub Pages), communications on
145
+ Discord and/or Slack, Stack Overflow Teams, Nextcloud, and our social
146
+ media presence (e.g., Facebook, Instagram, X, and similar platforms).
147
+ </strong>
148
+ </p>
149
+ {:else if link.id === "acceptable-use"}
150
+ <p>
151
+ You agree not to use our platforms or services to engage in conduct that
152
+ is
153
+ <strong>
154
+ unlawful, abusive, threatening, harassing, defamatory, deceptive, or
155
+ otherwise objectionable
156
+ </strong>. Prohibited activities include but are not limited to:
157
+ </p>
158
+ <ul>
159
+ <li>Unauthorized access or tampering with systems</li>
160
+ <li>Impersonation or misrepresentation</li>
161
+ <li>Uploading malicious code or spam</li>
162
+ <li>Violating third-party rights or laws</li>
163
+ <li>Interfering with platform functionality or availability</li>
164
+ </ul>
165
+ {:else if link.id === "warranty"}
166
+ <p>
167
+ Our platforms and services are provided "as is" and "as available,"
168
+ without any express or implied warranties. We make no guarantees
169
+ regarding their accuracy, reliability, availability, or security. This
170
+ disclaimer does not apply to our consulting and implementation services,
171
+ nor any payment portals or associated services.
172
+ </p>
173
+ {:else if link.id === "risk"}
174
+ <p>
175
+ Your use of our platforms is at your own risk. We do not guarantee the
176
+ security, integrity, or reliability of data stored on external or
177
+ third-party infrastructure. This disclaimer does not apply to our
178
+ consulting and implementation services, nor any payment portals or
179
+ associated services.
180
+ </p>
181
+ {:else if link.id === "liability"}
182
+ <p>
183
+ To the fullest extent permitted by law, the Company, its affiliates,
184
+ owners, operators, and contributors shall not be liable for any direct,
185
+ indirect, incidental, consequential, or punitive damages, including but
186
+ not limited to data loss, loss of profits, or damages arising from
187
+ reliance on or use of our platforms.
188
+ </p>
189
+ {:else if link.id === "indemnification"}
190
+ <p>
191
+ You agree to indemnify, defend, and hold harmless the Company, its
192
+ affiliates, owners, operators, and contributors from any claims,
193
+ damages, liabilities, losses, or expenses (including legal fees) arising
194
+ from or related to your use of our services.
195
+ </p>
196
+ {:else if link.id === "jurisdiction"}
197
+ <p>
198
+ {constants.company} is based in Maricopa County, Arizona. Any legal action
199
+ or dispute arising from these Terms of Use shall be subject to the exclusive
200
+ jurisdiction of the state and federal courts located in Maricopa County,
201
+ Arizona. These Terms shall be governed by the
202
+ <strong>Arizona Revised Statutes (A.R.S.)</strong> and applicable
203
+ provisions of the <strong>United States Code (U.S.C.)</strong>.
204
+ </p>
205
+ {:else if link.id === "acceptance"}
206
+ <p>
207
+ By accessing or using our platforms, you acknowledge and agree to these
208
+ Terms of Use. Continued use of our services constitutes ongoing
209
+ acceptance of these Terms.
210
+ </p>
211
+ {:else if link.id === "changes"}
212
+ <p>
213
+ We may update these Terms of Use periodically. Updates will be posted on
214
+ this page with an updated effective date and will reflect any relevant
215
+ changes in applicable law.
216
+ </p>
217
+ {/if}
218
+
219
+ <span class={constants.classSmall}
220
+ ><a href={constants.hrefTop}>Back to top</a></span>
221
+ </section>
222
+ {/each}
223
+
224
+ <section id="moredetails">
225
+ <p class="bquote">
226
+ <strong>Note:</strong> For more details regarding our privacy practices,
227
+ refer to our
228
+ <a rel={constants.rel} href={privacyLink} target={constants.targetSelf}
229
+ >Privacy Policy</a
230
+ >. For licensing terms and content usage rights, please visit our
231
+ <a rel={constants.rel} href={licenseLink} target={constants.targetSelf}
232
+ >Legal, Copyright, and Licensing</a>
233
+ page.
234
+ </p>
235
+ </section>
236
+ <!-- END TERMS OF USE -->
@@ -0,0 +1,65 @@
1
+ /* ==========================================================================
2
+ src/lib/registerServiceWorker.js
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
5
+ This file is part of Network Pro.
6
+ ========================================================================== */
7
+
8
+ export function registerServiceWorker() {
9
+ if ('serviceWorker' in navigator) {
10
+ // Skip registration in Firefox during development
11
+ const isFirefox = navigator.userAgent.indexOf('Firefox') !== -1;
12
+ const isDevelopment = window.location.hostname === 'localhost' ||
13
+ window.location.hostname === '127.0.0.1';
14
+
15
+ if (isFirefox && isDevelopment) {
16
+ console.log('Service Worker registration skipped in Firefox development mode');
17
+ return;
18
+ }
19
+
20
+ // Wait until after the page fully loads for better performance
21
+ window.addEventListener('load', () => {
22
+ navigator.serviceWorker.register('service-worker.js')
23
+ .then((registration) => {
24
+ console.log('Service Worker registered with scope:', registration.scope);
25
+
26
+ // Track installation of new service worker
27
+ registration.addEventListener('updatefound', () => {
28
+ const newWorker = registration.installing;
29
+ console.log('New service worker installing...');
30
+
31
+ if (!newWorker) return;
32
+
33
+ let updatePrompted = false;
34
+
35
+ newWorker.addEventListener('statechange', () => {
36
+ if (
37
+ newWorker.state === 'installed' &&
38
+ navigator.serviceWorker.controller &&
39
+ !updatePrompted
40
+ ) {
41
+ updatePrompted = true;
42
+
43
+ // Custom prompt: reload to update
44
+ if (confirm('New content is available. Reload to update?')) {
45
+ window.location.reload();
46
+ }
47
+ }
48
+ });
49
+ });
50
+ })
51
+ .catch((error) => {
52
+ console.error('Service Worker registration failed:', error);
53
+ });
54
+
55
+ // Ensure page reloads when new service worker takes control
56
+ let refreshing = false;
57
+ navigator.serviceWorker.addEventListener('controllerchange', () => {
58
+ if (!refreshing) {
59
+ refreshing = true;
60
+ window.location.reload();
61
+ }
62
+ });
63
+ });
64
+ }
65
+ }
@@ -0,0 +1,76 @@
1
+ /*!
2
+ * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
3
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
+ * Copyright 2024 Fonticons, Inc.
5
+ */
6
+ :root, :host {
7
+ --fa-style-family-brands: 'Font Awesome 6 Brands';
8
+ --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }
9
+
10
+ @font-face {
11
+ font-family: 'Font Awesome 6 Brands';
12
+ font-style: normal;
13
+ font-weight: 400;
14
+ font-display: block;
15
+ src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }
16
+
17
+ .fab,
18
+ .fa-brands {
19
+ font-weight: 400; }
20
+
21
+ .fa-square-instagram {
22
+ --fa: "\e055"; }
23
+
24
+ .fa-instagram-square {
25
+ --fa: "\e055"; }
26
+
27
+ .fa-threads {
28
+ --fa: "\e618"; }
29
+
30
+ .fa-linkedin-in {
31
+ --fa: "\f0e1"; }
32
+
33
+ .fa-square-twitter {
34
+ --fa: "\f081"; }
35
+
36
+ .fa-twitter-square {
37
+ --fa: "\f081"; }
38
+
39
+ .fa-500px {
40
+ --fa: "\f26e"; }
41
+
42
+ .fa-mastodon {
43
+ --fa:"\f4f6"; }
44
+
45
+ .fa-square-github {
46
+ --fa: "\f092"; }
47
+
48
+ .fa-github-square {
49
+ --fa: "\f092"; }
50
+
51
+ .fa-x-twitter {
52
+ --fa: "\e61b"; }
53
+
54
+ .fa-square-facebook {
55
+ --fa: "\f082"; }
56
+
57
+ .fa-facebook-square {
58
+ --fa: "\f082"; }
59
+
60
+ .fa-linkedin {
61
+ --fa: "\f08c"; }
62
+
63
+ .fa-instagram {
64
+ --fa: "\f16d"; }
65
+
66
+ .fa-facebook {
67
+ --fa: "\f09a"; }
68
+
69
+ .fa-github {
70
+ --fa: "\f09b"; }
71
+
72
+ .fa-twitter {
73
+ --fa: "\f099"; }
74
+
75
+ .fa-square-x-twitter {
76
+ --fa: "\e61a"; }
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
3
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4
+ * Copyright 2024 Fonticons, Inc.
5
+ */
6
+ :root,:host{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2)format("woff2"),url(../webfonts/fa-brands-400.ttf)format("truetype")}.fab,.fa-brands{font-weight:400}.fa-square-instagram,.fa-instagram-square{--fa:""}.fa-threads{--fa:""}.fa-linkedin-in{--fa:""}.fa-square-twitter,.fa-twitter-square{--fa:""}.fa-500px{--fa:""}.fa-mastodon{--fa:""}.fa-square-github,.fa-github-square{--fa:""}.fa-x-twitter{--fa:""}.fa-square-facebook,.fa-facebook-square{--fa:""}.fa-linkedin{--fa:""}.fa-instagram{--fa:""}.fa-facebook{--fa:""}.fa-github{--fa:""}.fa-twitter{--fa:""}.fa-square-x-twitter{--fa:""}