From 118dd72b32cf40a15ad5aca0e20ac463a825bbac Mon Sep 17 00:00:00 2001 From: Nathan Blaylock Date: Sun, 7 Jul 2024 21:25:23 -0600 Subject: [PATCH] Add basic animation, Add next and previous project links --- package-lock.json | 76 +++++- package.json | 4 +- src/components/Debug.svelte | 9 + src/lib/projectList.ts | 63 +++++ src/routes/+layout.svelte | 12 + src/routes/+page.svelte | 83 +----- src/routes/about/+page.svelte | 248 ++++++++--------- src/routes/privacy/+page.svelte | 417 ++++++++++++++--------------- src/routes/projects/+layout.svelte | 49 +++- 9 files changed, 529 insertions(+), 432 deletions(-) create mode 100644 src/components/Debug.svelte create mode 100644 src/lib/projectList.ts diff --git a/package-lock.json b/package-lock.json index ba16ea4..2f8478b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,18 +1,20 @@ { "name": "nathanblaylock.com", - "version": "2.0.0", + "version": "2.0.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "nathanblaylock.com", - "version": "2.0.0", + "version": "2.0.3", "devDependencies": { "@ngblaylock/blunt-images": "^1.0.0-beta.5", "@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-static": "^2.0.3", "@sveltejs/kit": "^1.20.4", + "@types/aos": "^3.0.7", "@types/chroma-js": "^2.4.0", + "aos": "^2.3.4", "bootstrap": "^5.3.1", "chroma-js": "^2.4.2", "mdsvex": "^0.11.0", @@ -609,6 +611,12 @@ "vite": "^4.0.0" } }, + "node_modules/@types/aos": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/aos/-/aos-3.0.7.tgz", + "integrity": "sha512-sEhyFqvKauUJZDbvAB3Pggynrq6g+2PS4XB3tmUr+mDL1gfDJnwslUC4QQ7/l8UD+LWpr3RxZVR/rHoZrLqZVg==", + "dev": true + }, "node_modules/@types/chroma-js": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-2.4.0.tgz", @@ -679,6 +687,17 @@ "node": ">= 8" } }, + "node_modules/aos": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/aos/-/aos-2.3.4.tgz", + "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", + "dev": true, + "dependencies": { + "classlist-polyfill": "^1.0.3", + "lodash.debounce": "^4.0.6", + "lodash.throttle": "^4.0.1" + } + }, "node_modules/aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", @@ -887,6 +906,12 @@ "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==", "dev": true }, + "node_modules/classlist-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", + "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==", + "dev": true + }, "node_modules/code-red": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.3.tgz", @@ -1434,6 +1459,18 @@ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", "dev": true }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, "node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -2886,6 +2923,12 @@ "debug": "^4.3.4" } }, + "@types/aos": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/aos/-/aos-3.0.7.tgz", + "integrity": "sha512-sEhyFqvKauUJZDbvAB3Pggynrq6g+2PS4XB3tmUr+mDL1gfDJnwslUC4QQ7/l8UD+LWpr3RxZVR/rHoZrLqZVg==", + "dev": true + }, "@types/chroma-js": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@types/chroma-js/-/chroma-js-2.4.0.tgz", @@ -2941,6 +2984,17 @@ "picomatch": "^2.0.4" } }, + "aos": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/aos/-/aos-2.3.4.tgz", + "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", + "dev": true, + "requires": { + "classlist-polyfill": "^1.0.3", + "lodash.debounce": "^4.0.6", + "lodash.throttle": "^4.0.1" + } + }, "aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", @@ -3080,6 +3134,12 @@ "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==", "dev": true }, + "classlist-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", + "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==", + "dev": true + }, "code-red": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.3.tgz", @@ -3507,6 +3567,18 @@ "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", "dev": true }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", diff --git a/package.json b/package.json index 2b5215f..362ad36 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,9 @@ "@sveltejs/adapter-auto": "^2.0.0", "@sveltejs/adapter-static": "^2.0.3", "@sveltejs/kit": "^1.20.4", + "@types/aos": "^3.0.7", "@types/chroma-js": "^2.4.0", + "aos": "^2.3.4", "bootstrap": "^5.3.1", "chroma-js": "^2.4.2", "mdsvex": "^0.11.0", @@ -30,4 +32,4 @@ "vite": "^4.4.12" }, "type": "module" -} \ No newline at end of file +} diff --git a/src/components/Debug.svelte b/src/components/Debug.svelte new file mode 100644 index 0000000..de2b48a --- /dev/null +++ b/src/components/Debug.svelte @@ -0,0 +1,9 @@ + + +
+
+
{JSON.stringify(data, null, 2)}
+
+
\ No newline at end of file diff --git a/src/lib/projectList.ts b/src/lib/projectList.ts new file mode 100644 index 0000000..48e1895 --- /dev/null +++ b/src/lib/projectList.ts @@ -0,0 +1,63 @@ +export const projects = [ + { + alt: 'Space Dynamics Laboratory', + route: 'sdl', + }, + { + alt: 'Grammy Tammy\'s Delights', + route: 'gtd', + }, + { + alt: 'Cookbook', + route: 'cookbook', + }, + { + alt: 'Greater Smithfield Chamber of Commerce', + route: 'smithfield-chamber-of-commerce', + }, + { + alt: 'Scoresheet App', + route: 'scoresheet', + }, + { + alt: 'Extract GSheet', + route: 'extract-gsheet', + }, + { + alt: 'Placeholdate Figma Plugin', + route: 'placeholdate', + }, + { + alt: 'Small Satellite Conference', + route: 'smallsat', + }, + { + alt: 'Jeffrey R. Wangsgard and Associates', + route: 'jrwcpatax', + }, + { + alt: 'Busy Bee Odd Jobs', + route: 'busy-bee-odd-jobs', + }, + { + alt: 'Bingo Caller', + route: 'bingo-caller', + }, + { + alt: 'Sorenson Center', + route: 'scce', + }, + // // ARCHIVED PROJECTS + // { + // alt: 'Psychology Department Website', + // route: 'psychology', + // }, + // { + // alt: 'Enoch Initiative', + // route: 'enoch-initiative', + // }, + // { + // alt: 'Group Sale Tracker', + // route: 'group-sale-tracker', + // }, +]; \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index ad11699..f0d44b3 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,11 +1,23 @@ diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index ae66a51..fd47625 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,83 +1,22 @@
{#each projects as project} -
- {project.alt} +
+
+ {project.alt} +
{/each}
diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte index 4766f0f..2127e1a 100644 --- a/src/routes/about/+page.svelte +++ b/src/routes/about/+page.svelte @@ -1,136 +1,136 @@ -
-
- Nathan Blaylock Portrait -
-
-

- Nathan Blaylock is a User Experience Engineer who loves finding creative solutions for complex - problems. Nathan began his journey as a graphic designer who found his passion for designing - usable and functional websites. Combining that design skill with his interest in web - development has truly set him apart among his peers. In website development, Nathan has worked - extensively with Jamstack technology in both - professional and personal projects. -

-

- Nathan has experience with a variety of multimedia skills including graphic design, - photography, branding, videography, and more. Nathan has a Master's of Arts from Utah State - University where he studied User Experience Design. Nathan is also UX Certified by the Nielsen Norman Group, the world leader in research-based user experience design. -

-
+
+
+ Nathan Blaylock Portrait +
+
+

+ Nathan Blaylock is a User Experience Engineer who loves finding creative solutions for complex + problems. Nathan began his journey as a graphic designer who found his passion for designing + usable and functional websites. Combining that design skill with his interest in web + development has truly set him apart among his peers. In website development, Nathan has worked + extensively with Jamstack technology in both + professional and personal projects. +

+

+ Nathan has experience with a variety of multimedia skills including graphic design, + photography, branding, videography, and more. Nathan has a Master's of Arts from Utah State + University where he studied User Experience Design. Nathan is also UX Certified by the Nielsen Norman Group, the world leader in research-based user experience design. +

+
-
-
-

Career

-
-

Space Dynamics Laboratory

-
    -
  • Developed and designed internal web applications and external websites.
  • -
  • - Implemented the Small Satellite Conference virtual conference website for 2020 and 2021 - during the pandemic. -
  • -
  • UX/UI Lead
  • -
-

Utah State University

-
    -
  • - Lead multimedia efforts through graphic design, videography, branding, basic tech support, - and photography. -
  • -
  • Lead design and development on various department and program websites.
  • -
-

Freelance

-
    -
  • Designed and developed small to medium size websites for businesses.
  • -
  • Delivered quality branding and graphic design when needed.
  • -
-
-

Education

-
-

Utah State University

-
    -
  • - Master of Arts - Instructional Technology and Learning Sciences. Area of study: - User Experience Design. -
  • -
  • - Bachelor of Science - Major in Art and Design, double minor in Computer Science - and Multimedia Development. Areas of study: Graphic Design, Web Development, and other multimedia - skills. -
  • -
-
-
-
-

Tools & Technology

-
-

Proficient In

-
    -
  • Figma, Adobe XD, Sketch
  • -
  • HTML, Markdown
  • -
  • CSS, SASS
  • -
  • Bootstrap 3, 4, 5, Bootstrap Vue, Vuetify
  • -
  • JS, jQuery, Vue, Svelte, Nunjucks, Alpine
  • -
  • Eleventy, Nuxt, SvelteKit
  • -
  • Frontend JS Libraries (day.js, excel.js, chart.js, lodash, etc)
  • -
  • NPM
  • -
  • Git, GitHub, Bitbucket
  • -
  • Jira, Asana, Trello
  • -
  • Mac, Linux, Windows
  • -
  • Photoshop, Illustrator, InDesign
  • -
  • Visual Studio Code
  • -
-

Dabbled In

-
    -
  • Node.js, Express, PHP
  • -
  • TypeScript
  • -
  • Rollup
  • -
  • Strapi, Firebase, Postgres, MySQL
  • -
  • Bash, GitHub Actions
  • -
-

Interested to Try

-
    -
  • React, Angular
  • -
  • Gatsby, Astro
  • -
  • Vite, Snowpack
  • -
  • Electron, NodeGUI
  • -
  • MongoDB
  • -
-
-
+
+
+

Career

+
+

Space Dynamics Laboratory

+
    +
  • Developed and designed internal web applications and external websites.
  • +
  • + Implemented the Small Satellite Conference virtual conference website for 2020 and 2021 + during the pandemic. +
  • +
  • UX/UI Lead
  • +
+

Utah State University

+
    +
  • + Lead multimedia efforts through graphic design, videography, branding, basic tech support, + and photography. +
  • +
  • Lead design and development on various department and program websites.
  • +
+

Freelance

+
    +
  • Designed and developed small to medium size websites for businesses.
  • +
  • Delivered quality branding and graphic design when needed.
  • +
+
+

Education

+
+

Utah State University

+
    +
  • + Master of Arts - Instructional Technology and Learning Sciences. Area of study: + User Experience Design. +
  • +
  • + Bachelor of Science - Major in Art and Design, double minor in Computer Science + and Multimedia Development. Areas of study: Graphic Design, Web Development, and other multimedia + skills. +
  • +
+
+
+
+

Tools & Technology

+
+

Proficient In

+
    +
  • Figma, Adobe XD, Sketch
  • +
  • HTML, Markdown
  • +
  • CSS, SASS
  • +
  • Bootstrap 3, 4, 5, Bootstrap Vue, Vuetify
  • +
  • JS, jQuery, Vue, Svelte, Nunjucks, Alpine
  • +
  • Eleventy, Nuxt, SvelteKit
  • +
  • Frontend JS Libraries (day.js, excel.js, chart.js, lodash, etc)
  • +
  • NPM
  • +
  • Git, GitHub, Bitbucket
  • +
  • Jira, Asana, Trello
  • +
  • Mac, Linux, Windows
  • +
  • Photoshop, Illustrator, InDesign
  • +
  • Visual Studio Code
  • +
+

Dabbled In

+
    +
  • Node.js, Express, PHP
  • +
  • TypeScript
  • +
  • Rollup
  • +
  • Strapi, Firebase, Postgres, MySQL
  • +
  • Bash, GitHub Actions
  • +
+

Interested to Try

+
    +
  • React, Angular
  • +
  • Gatsby, Astro
  • +
  • Vite, Snowpack
  • +
  • Electron, NodeGUI
  • +
  • MongoDB
  • +
+
+
\ No newline at end of file + diff --git a/src/routes/privacy/+page.svelte b/src/routes/privacy/+page.svelte index 0b9eba8..07a1222 100644 --- a/src/routes/privacy/+page.svelte +++ b/src/routes/privacy/+page.svelte @@ -1,223 +1,198 @@ - - -

- Our main priorities is the privacy of our visitors. This Privacy - Policy document contains types of information that is collected and - recorded by Nathan Blaylock websites and how we use it. Websites - covered by this Privacy Policy include any website with the following - domain (including subdomains): -

- -
    -
  • nathanblaylock.com
  • -
  • ngblaylock.github.io
  • -
- -

- If you have additional questions or require more information about our - Privacy Policy, do not hesitate to contact us. -

- -

- This Privacy Policy applies only to our online activities and is valid - for visitors to our website with regards to the information that they - shared and/or collect in Nathan Blaylock. This policy is not - applicable to any information collected offline or via channels other - than this website. Our Privacy Policy was created with the help of the - Free Privacy Policy Generator. -

- -

Consent

- -

- By using our website, you hereby consent to our Privacy Policy and - agree to its terms. -

- -

Information we collect

- -

- The personal information that you are asked to provide, and the - reasons why you are asked to provide it, will be made clear to you at - the point we ask you to provide your personal information. -

-

- If you contact us directly, we may receive additional information - about you such as your name, email address, phone number, the contents - of the message and/or attachments you may send us, and any other - information you may choose to provide. -

-

- When you register for an Account, we may ask for your contact - information, including items such as name, company name, address, - email address, and telephone number. -

- -

How we use your information

- -

We use the information we collect in various ways, including to:

- -
    -
  • Provide, operate, and maintain our website
  • -
  • Improve, personalize, and expand our website
  • -
  • Understand and analyze how you use our website
  • -
  • Develop new products, services, features, and functionality
  • -
  • - Communicate with you, either directly or through one of our - partners, including for customer service, to provide you with - updates and other information relating to the website, and for - marketing and promotional purposes -
  • -
  • Send you emails
  • -
  • Find and prevent fraud
  • -
- -

Log Files

- -

- Nathan Blaylock follows a standard procedure of using log files. These - files log visitors when they visit websites. All hosting companies do - this and a part of hosting services' analytics. The information - collected by log files include internet protocol (IP) addresses, - browser type, Internet Service Provider (ISP), date and time stamp, - referring/exit pages, and possibly the number of clicks. These are not - linked to any information that is personally identifiable. The purpose - of the information is for analyzing trends, administering the site, - tracking users' movement on the website, and gathering demographic - information. -

- -

Cookies and Web Beacons

- -

- Like any other website, Nathan Blaylock uses 'cookies'. These cookies - are used to store information including visitors' preferences, and the - pages on the website that the visitor accessed or visited. The - information is used to optimize the users' experience by customizing - our web page content based on visitors' browser type and/or other - information. -

- -

Advertising Partners Privacy Policies

- -

- You may consult this list to find the Privacy Policy for each of the - advertising partners of Nathan Blaylock. -

- -

- Third-party ad servers or ad networks uses technologies like cookies, - JavaScript, or Web Beacons that are used in their respective - advertisements and links that appear on Nathan Blaylock, which are - sent directly to users' browser. They automatically receive your IP - address when this occurs. These technologies are used to measure the - effectiveness of their advertising campaigns and/or to personalize the - advertising content that you see on websites that you visit. -

- -

- Note that Nathan Blaylock has no access to or control over these - cookies that are used by third-party advertisers. -

- -

Third Party Privacy Policies

- -

- Nathan Blaylock's Privacy Policy does not apply to other advertisers - or websites. Thus, we are advising you to consult the respective - Privacy Policies of these third-party ad servers for more detailed - information. It may include their practices and instructions about how - to opt-out of certain options. -

- -

- You can choose to disable cookies through your individual browser - options. To know more detailed information about cookie management - with specific web browsers, it can be found at the browsers' - respective websites. -

- -

CCPA Privacy Rights (Do Not Sell My Personal Information)

- -

- Under the CCPA, among other rights, California consumers have the - right to: -

-

- Request that a business that collects a consumer's personal data - disclose the categories and specific pieces of personal data that a - business has collected about consumers. -

-

- Request that a business delete any personal data about the consumer - that a business has collected. -

-

- Request that a business that sells a consumer's personal data, not - sell the consumer's personal data. -

-

- If you make a request, we have one month to respond to you. If you - would like to exercise any of these rights, please contact us. -

- -

GDPR Data Protection Rights

- -

- We would like to make sure you are fully aware of all of your data - protection rights. Every user is entitled to the following: -

-

- The right to access – You have the right to request copies of your - personal data. We may charge you a small fee for this service. -

-

- The right to rectification – You have the right to request that we - correct any information you believe is inaccurate. You also have the - right to request that we complete the information you believe is - incomplete. -

-

- The right to erasure – You have the right to request that we erase - your personal data, under certain conditions. -

-

- The right to restrict processing – You have the right to request that - we restrict the processing of your personal data, under certain - conditions. -

-

- The right to object to processing – You have the right to object to - our processing of your personal data, under certain conditions. -

-

- The right to data portability – You have the right to request that we - transfer the data that we have collected to another organization, or - directly to you, under certain conditions. -

-

- If you make a request, we have one month to respond to you. If you - would like to exercise any of these rights, please contact us. -

- -

Children's Information

- -

- Another part of our priority is adding protection for children while - using the internet. We encourage parents and guardians to observe, - participate in, and/or monitor and guide their online activity. -

- -

- Nathan Blaylock does not knowingly collect any Personal Identifiable - Information from children under the age of 13. If you think that your - child provided this kind of information on our website, we strongly - encourage you to contact us immediately and we will do our best - efforts to promptly remove such information from our records. -

\ No newline at end of file + +
+ + +

+ Our main priorities is the privacy of our visitors. This Privacy Policy document contains types + of information that is collected and recorded by Nathan Blaylock websites and how we use it. + Websites covered by this Privacy Policy include any website with the following domain (including + subdomains): +

+ +
    +
  • nathanblaylock.com
  • +
  • ngblaylock.github.io
  • +
+ +

+ If you have additional questions or require more information about our Privacy Policy, do not + hesitate to contact us. +

+ +

+ This Privacy Policy applies only to our online activities and is valid for visitors to our + website with regards to the information that they shared and/or collect in Nathan Blaylock. This + policy is not applicable to any information collected offline or via channels other than this + website. Our Privacy Policy was created with the help of the + Free Privacy Policy Generator. +

+ +

Consent

+ +

By using our website, you hereby consent to our Privacy Policy and agree to its terms.

+ +

Information we collect

+ +

+ The personal information that you are asked to provide, and the reasons why you are asked to + provide it, will be made clear to you at the point we ask you to provide your personal + information. +

+

+ If you contact us directly, we may receive additional information about you such as your name, + email address, phone number, the contents of the message and/or attachments you may send us, and + any other information you may choose to provide. +

+

+ When you register for an Account, we may ask for your contact information, including items such + as name, company name, address, email address, and telephone number. +

+ +

How we use your information

+ +

We use the information we collect in various ways, including to:

+ +
    +
  • Provide, operate, and maintain our website
  • +
  • Improve, personalize, and expand our website
  • +
  • Understand and analyze how you use our website
  • +
  • Develop new products, services, features, and functionality
  • +
  • + Communicate with you, either directly or through one of our partners, including for customer + service, to provide you with updates and other information relating to the website, and for + marketing and promotional purposes +
  • +
  • Send you emails
  • +
  • Find and prevent fraud
  • +
+ +

Log Files

+ +

+ Nathan Blaylock follows a standard procedure of using log files. These files log visitors when + they visit websites. All hosting companies do this and a part of hosting services' analytics. + The information collected by log files include internet protocol (IP) addresses, browser type, + Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the + number of clicks. These are not linked to any information that is personally identifiable. The + purpose of the information is for analyzing trends, administering the site, tracking users' + movement on the website, and gathering demographic information. +

+ +

Cookies and Web Beacons

+ +

+ Like any other website, Nathan Blaylock uses 'cookies'. These cookies are used to store + information including visitors' preferences, and the pages on the website that the visitor + accessed or visited. The information is used to optimize the users' experience by customizing + our web page content based on visitors' browser type and/or other information. +

+ +

Advertising Partners Privacy Policies

+ +

+ You may consult this list to find the Privacy Policy for each of the advertising partners of + Nathan Blaylock. +

+ +

+ Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons + that are used in their respective advertisements and links that appear on Nathan Blaylock, which + are sent directly to users' browser. They automatically receive your IP address when this + occurs. These technologies are used to measure the effectiveness of their advertising campaigns + and/or to personalize the advertising content that you see on websites that you visit. +

+ +

+ Note that Nathan Blaylock has no access to or control over these cookies that are used by + third-party advertisers. +

+ +

Third Party Privacy Policies

+ +

+ Nathan Blaylock's Privacy Policy does not apply to other advertisers or websites. Thus, we are + advising you to consult the respective Privacy Policies of these third-party ad servers for more + detailed information. It may include their practices and instructions about how to opt-out of + certain options. +

+ +

+ You can choose to disable cookies through your individual browser options. To know more detailed + information about cookie management with specific web browsers, it can be found at the browsers' + respective websites. +

+ +

CCPA Privacy Rights (Do Not Sell My Personal Information)

+ +

Under the CCPA, among other rights, California consumers have the right to:

+

+ Request that a business that collects a consumer's personal data disclose the categories and + specific pieces of personal data that a business has collected about consumers. +

+

+ Request that a business delete any personal data about the consumer that a business has + collected. +

+

+ Request that a business that sells a consumer's personal data, not sell the consumer's personal + data. +

+

+ If you make a request, we have one month to respond to you. If you would like to exercise any of + these rights, please contact us. +

+ +

GDPR Data Protection Rights

+ +

+ We would like to make sure you are fully aware of all of your data protection rights. Every user + is entitled to the following: +

+

+ The right to access – You have the right to request copies of your personal data. We may charge + you a small fee for this service. +

+

+ The right to rectification – You have the right to request that we correct any information you + believe is inaccurate. You also have the right to request that we complete the information you + believe is incomplete. +

+

+ The right to erasure – You have the right to request that we erase your personal data, under + certain conditions. +

+

+ The right to restrict processing – You have the right to request that we restrict the processing + of your personal data, under certain conditions. +

+

+ The right to object to processing – You have the right to object to our processing of your + personal data, under certain conditions. +

+

+ The right to data portability – You have the right to request that we transfer the data that we + have collected to another organization, or directly to you, under certain conditions. +

+

+ If you make a request, we have one month to respond to you. If you would like to exercise any of + these rights, please contact us. +

+ +

Children's Information

+ +

+ Another part of our priority is adding protection for children while using the internet. We + encourage parents and guardians to observe, participate in, and/or monitor and guide their + online activity. +

+ +

+ Nathan Blaylock does not knowingly collect any Personal Identifiable Information from children + under the age of 13. If you think that your child provided this kind of information on our + website, we strongly encourage you to contact us immediately and we will do our best efforts to + promptly remove such information from our records. +

+
diff --git a/src/routes/projects/+layout.svelte b/src/routes/projects/+layout.svelte index 51a8318..a31e14d 100644 --- a/src/routes/projects/+layout.svelte +++ b/src/routes/projects/+layout.svelte @@ -1,32 +1,57 @@ + }); + }); + $: currentProject = $page.route.id?.replace('/projects/', ''); + $: previousProject = () => { + const currentProjectIndex = projects.findIndex((project) => project.route === currentProject); + if (currentProjectIndex == 0) { + return projects[projects.length - 1]; + } + return projects[currentProjectIndex - 1]; + }; + $: nextProject = () => { + const currentProjectIndex = projects.findIndex((project) => project.route === currentProject); + if (currentProjectIndex == projects.length - 1) { + return projects[0]; + } + return projects[currentProjectIndex + 1]; + }; +
- \ No newline at end of file +