From f147510c045e0f97e9e0b100dd97f6670d5723c8 Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Tue, 18 Jul 2023 21:48:18 +0200 Subject: [PATCH 01/37] feat: expand Sebin data object --- src/sebin.ts | 64 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 47 insertions(+), 17 deletions(-) diff --git a/src/sebin.ts b/src/sebin.ts index 52d655e..f2ecaf0 100644 --- a/src/sebin.ts +++ b/src/sebin.ts @@ -31,21 +31,51 @@ export const firstName = 'Sebin', girth: 5 // cm }, kinks = [ - { name: 'Oral', receive: true, give: true }, - { name: 'Anal', receive: true, give: true }, - { name: 'Facial', receive: true, give: true }, - { name: 'Creampie', receive: true, give: true }, - { name: 'Bukkake', receive: true, give: true }, - { name: 'Biting', receive: true, give: true }, - { name: 'Nipple Play', receive: true, give: true }, - { name: 'Rough', receive: true, give: true }, - { name: 'Toys', receive: true, give: true }, - - { name: 'Frotting', receive: true, give: true }, - { name: 'Muscle Worship', receive: true, give: true }, - { name: 'Filled Condoms', receive: true, give: true }, - { name: 'Growth/Macro', receive: true, give: true }, - { name: 'Size Difference', receive: true, give: true }, - { name: 'Underwear', receive: true, give: true }, - { name: 'Chubbies', receive: true, give: true } + { name: 'Absorption', rating: 4 }, + { name: 'Anal', rating: 1, recive: true, give: true }, + { name: 'Auto-Fellatio', rating: 2 }, + { name: 'Biting', rating: 2, receive: true, give: true }, + { name: 'Bukkake', rating: 2, receive: false, give: true }, + { name: 'Chastity', rating: 4 }, + { name: 'Chubby', rating: 3 }, + { name: 'Clothed Sex', rating: 2 }, + { name: 'Cock Slapping', rating: 2, receive: false, give: true }, + { name: 'Coiling', rating: 3, receive: false, give: true }, + { name: 'Competition', rating: 3, receive: false, give: true }, + { name: 'Creampie', rating: 2, receive: false, give: true }, + { name: 'Crushing (Living/Objects)', rating: 4 }, + { name: 'Cum From Mouth/Nose', rating: 2, receive: false, give: true }, + { name: 'Cum Inflation (Light/Medium)', rating: 2 }, + { name: 'Deep-throat', rating: 2, receive: true, give: false }, + { name: 'Dirty Talking', rating: 2 }, + { name: 'Excessive Cum', rating: 1, receive: true, give: true }, + { name: 'Face-Fucking', rating: 2, receive: false, give: true }, + { name: 'Facial', rating: 2, receive: false, give: true }, + { name: 'Feet', rating: 4 }, + { name: 'Fellatio', rating: 1, receive: true, give: true }, + { name: 'Filled Condoms', rating: 2 }, + { name: 'Foreplay', rating: 2, receive: true, give: true }, + { name: 'Frotting', rating: 2 }, + { name: 'Gangbangs', rating: 2 }, + { name: 'Growth', rating: 1, receive: true, give: false }, + { name: 'Handjobs', rating: 2, receive: true, give: true }, + { name: 'Hotdogging', rating: 2, receive: false, give: true }, + { name: 'Kissing', rating: 2, receive: true, give: true }, + { name: 'Macro', rating: 1 }, + { name: 'Milking', rating: 2 }, + { name: 'Muscle Growth', rating: 1, receive: true, give: true }, + { name: 'Muscle Worship', rating: 2, receive: true, give: true }, + { name: 'Nipple Play', rating: 2, receive: true, give: true }, + { name: 'Oral', rating: 1, receive: true, give: true }, + { name: 'Rough', rating: 2, receive: true, give: true }, + { name: 'Sheath Play', rating: 2, receive: true, give: true }, + { name: 'Size Difference', rating: 1 }, + { name: 'Slime/Goo Characters', rating: 2 }, + { name: 'Spanking', rating: 3, receive: false, give: true }, + { name: 'Tailsex', rating: 2, receive: true, give: true }, + { name: 'Toys', rating: 2, receive: true, give: true }, + { name: 'Underwear', rating: 1 }, + { name: 'Unsanitary', rating: 4 }, + { name: 'Verbal Abuse', rating: 3, receive: false, give: true }, + { name: 'Vore', rating: 4 }, ] From d196c1e680a0546a5d9f4c0712a71e2af438e06b Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Tue, 18 Jul 2023 21:48:41 +0200 Subject: [PATCH 02/37] feat: update interface definitions --- src/interfaces.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/interfaces.ts b/src/interfaces.ts index 7c882c0..9d560ec 100644 --- a/src/interfaces.ts +++ b/src/interfaces.ts @@ -5,8 +5,9 @@ interface ColorDict { interface Kink { name: string - receive: boolean - give: boolean + rating: number + receive?: boolean + give?: boolean } export type { ColorDict, Kink } From f100c524af4785eeabb5ac6681dc6455a994fbbc Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Tue, 18 Jul 2023 21:50:06 +0200 Subject: [PATCH 03/37] feat: add FilteredList component --- src/components/FilteredList.vue | 295 ++++++++++++++++++++++++++++++++ 1 file changed, 295 insertions(+) create mode 100644 src/components/FilteredList.vue diff --git a/src/components/FilteredList.vue b/src/components/FilteredList.vue new file mode 100644 index 0000000..4af8638 --- /dev/null +++ b/src/components/FilteredList.vue @@ -0,0 +1,295 @@ + + + + + From b450849075a62847f0b14382b26963a96b9d666e Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Tue, 18 Jul 2023 21:51:14 +0200 Subject: [PATCH 04/37] feat: expand css color variables --- src/scss/base.scss | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/scss/base.scss b/src/scss/base.scss index 9637f65..ceceac5 100644 --- a/src/scss/base.scss +++ b/src/scss/base.scss @@ -1,4 +1,4 @@ -@import "fontfaces"; +@import 'fontfaces'; /* theme colors */ :root { @@ -28,6 +28,18 @@ --theme-c-white: #ffffff; --theme-c-black: #000000; + --theme-c-love: #e00f60; + --theme-c-yes: #2faf2a; + --theme-c-maybe: #daa520; + --theme-c-no: #8b0000; + --theme-c-receive: #448dc9; + --theme-c-give: #4a7d91; + + --theme-c-love-dark: #9b0a41; + --theme-c-yes-dark: #1f771c; + --theme-c-maybe-dark: #997416; + --theme-c-no-dark: #530000; + --theme-c-dull-red-translucent: #c64c35bf; --theme-c-indian-yellow-translucent: #eda958bf; --theme-c-dusky-blue-translucent: #4b608fbf; @@ -100,8 +112,8 @@ /* general purpose variables */ :root { - --font-family-copy: "Dosis", sans-serif; - --font-family-headings: "Zilla Slab", sans-serif; + --font-family-copy: 'Dosis', sans-serif; + --font-family-headings: 'Zilla Slab', sans-serif; --font-size: 18px; --font-size-h1: 3rem; @@ -128,8 +140,7 @@ --page-background: var(--theme-b-page-background-light); --header-background: var(--theme-b-navigation-background-light); - --header-margin: 1rem var(--container-spacing-right-safe) 1rem - var(--container-spacing-left-safe); + --header-margin: 1rem var(--container-spacing-right-safe) 1rem var(--container-spacing-left-safe); --navigation-justify-content: flex-start; --quickfacts-background: var(--theme-b-page-background-light); @@ -172,8 +183,7 @@ --social-links-flex-flow: row wrap; --social-links-flex: 1 1 50%; - --footer-padding: var(--container-spacing-top-safe) 0 - var(--container-spacing-bottom-safe) 0; + --footer-padding: var(--container-spacing-top-safe) 0 var(--container-spacing-bottom-safe) 0; } /* semantic color variables for this project */ From 1b036d3278419f93e3ae78d0c7a86157c9c77703 Mon Sep 17 00:00:00 2001 From: Sebin Nyshkim Date: Tue, 18 Jul 2023 21:51:32 +0200 Subject: [PATCH 05/37] feat: replace DataTable component with new FilteredList component --- src/views/GeneralView.vue | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/views/GeneralView.vue b/src/views/GeneralView.vue index 486e089..1e196f0 100644 --- a/src/views/GeneralView.vue +++ b/src/views/GeneralView.vue @@ -17,10 +17,10 @@ import { } from '@/sebin' import { dateFormat, getAge, toImperial, toLbs } from '@/helpers' import { nsfwKey, showModalKey } from '@/keys' -import type { Kink } from '@/interfaces' import DataTable from '@/components/DataTable.vue' import QuickFacts from '@/components/QuickFacts.vue' import RefToggle from '@/components/RefToggle.vue' +import FilteredList from '@/components/FilteredList.vue' const generalHeadings = ['Key', 'Value'] const generalData = [ @@ -39,14 +39,6 @@ const nsfwData = [ ['Position', position] ] -const kinksHeadings = ['Kink', 'Receive', 'Give'] -const kinksData = kinks.map((kink: Kink): string[] => { - const receive = kink.receive ? '✅' : '🚫' - const give = kink.give ? '✅' : '🚫' - - return [kink.name, receive, give] -}) - const isNsfw = inject(nsfwKey, false) const showModal = inject(showModalKey, Function) @@ -197,7 +189,9 @@ const showModal = inject(showModalKey, Function) wants it. After all he is well endowed enough to peddle it around.

- +

Kinks

+ +