From c86c5fcf98f35ef38849b63942c57fd91fbd1393 Mon Sep 17 00:00:00 2001 From: Marco Kaiser Date: Sun, 17 Nov 2024 08:13:34 +0100 Subject: [PATCH 1/6] feat: Add dynamic spacing variables - Use dynamic spacing for main element and sections - Fix wonky padding when opening and closing faq answers --- css/style.css | 27 ++++++++++++++++----------- fonts/DepartureMono-Regular.woff2 | Bin 0 -> 17428 bytes 2 files changed, 16 insertions(+), 11 deletions(-) create mode 100644 fonts/DepartureMono-Regular.woff2 diff --git a/css/style.css b/css/style.css index e2ade45..88f5b82 100644 --- a/css/style.css +++ b/css/style.css @@ -1,5 +1,5 @@ @font-face { -/* +/* Note: The font files are not included in this repository due to legal restrictions. For more information, please refer to the README.md file located in the 'fonts' directory. */ @@ -10,6 +10,7 @@ font-style: normal; font-display: swap; } + :root { --cyber-bg-color: #05130f; --cyber-font-color: #e8f0f2; @@ -20,6 +21,10 @@ --cyber-hero-overlay: rgba(0, 0, 0, 0.7); --cyber-shadow: rgba(0, 0, 0, 0.5); --cyber-slider-thumb-bg: #fff; + + /* Spacing */ + --spacing-sm: clamp(0.75rem, 0.4295rem + 1.3675vw, 1.25rem);; /* 12px to 20px */ + --spacing-md: clamp(1.5rem, 1.1795rem + 1.3675vw, 2rem);; /* 16px to 32px */ } /* General Styles */ @@ -79,14 +84,14 @@ h1 { /* Main content */ main { - padding: 40px 20px; + padding-inline: var(--spacing-sm); max-width: 1000px; margin: 0 auto; } .form-section { background-color: #102f2a; - padding: 30px; + padding: var(--spacing-md); border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); margin-bottom: 40px; @@ -208,7 +213,7 @@ button:active { /* FAQ Section */ .faq-section { background-color: var(--cyber-faq-bg-color); - padding: 30px; + padding: var(--spacing-md); border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); color: var(--cyber-font-color); @@ -243,12 +248,12 @@ button:active { display: block; font-weight: bold; color: var(--cyber-highlight-color); - padding: 15px; + padding: var(--spacing-sm); background-color: #102f2a; border-radius: 8px; cursor: pointer; position: relative; - margin-bottom: 5px; + margin-bottom: var(--spacing-sm); transition: background-color 0.3s; white-space: normal; overflow: visible; @@ -267,9 +272,9 @@ button:active { .faq-answer { max-height: 0; + display: none; overflow: hidden; - transition: max-height 0.5s ease; - padding: 0 15px; + padding: var(--spacing-sm); background-color: var(--cyber-bg-color); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); border-radius: 8px; @@ -278,7 +283,7 @@ button:active { .faq-checkbox:checked + .faq-question + .faq-answer { max-height: 100%; - padding: 15px; + display: block; } /* List Styles for FAQ */ .faq-answer ul, @@ -308,7 +313,7 @@ button:active { /* Credits Section */ .credits-section { background-color: var(--cyber-faq-bg-color); - padding: 30px; + padding: var(--spacing-md); border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); color: var(--cyber-font-color); @@ -540,4 +545,4 @@ a { a:hover { text-decoration: none; color: var(--cyber-secondary-color); -} \ No newline at end of file +} diff --git a/fonts/DepartureMono-Regular.woff2 b/fonts/DepartureMono-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7d8b33b0a53f0c9a2c496e83aaa1ffc3b8bb053f GIT binary patch literal 17428 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

^x;yM%PZJM;QsQ37xS!^ zKnTPE=mQu0ObBRi9DHIDLM%)oTmm#!S01Vp5rxIXW#!~SDM%oV$oyUU?Bgx1zvj+; z(ib|_=`OZ4P_d2{CMG3kWai}N<%cR&u3DwGw+;VEo#=RHyVPYe*p5u0QRxg0n0lKUj3 z&r-$pMOt62`exmCn|=^#A@-BhFLJ*r{h{`kRx7=KjM|v}XVuQGW3lDFGO$Oi9AgzY zR*7d--51zP(a}WDMONNIFlj)JQo5zRwQjTuFcj&QJ{5CAH>bAM+eq0s%G zm}3qAcyVMOEsHuz%FN9Xf&B(n;imwPG`LxmKSpdXm4%z9JSBkCXTqU4K!k0EHiGu) z-U6UKsqLE!&5?IknM=^OZS8e$pSt~>J+4=Um23JahQ5K;pjSjsL}+W@?SKETsb$f& zgRT9(Yrnhq&(;Cg((^NwROEWv#pXyb<`t?q!>v#OBL?8KZ%!wi6U||6 zI8?@bPdfvRfeaBh9Hv9y27`Tg2OO>QZ2%CXVZL?HvWpe2R9XQlQOa3SA)KB8=C6uq zycB>;GY-T{0C+>#C0Ov@Wza_YE(dQVyF46i*cHIn?Oh?dWwI-QNxr*MxR$!B38xx% zwaCUpyV~eI9(QH@W4eeoA;4xDfK6||H-0Kr8A7dCp(3^9loT3H+v&Hr>PjwHzB2hL z8%Qly5Q3nxlWT*!6dLa8@}u9AvX5jsY-sj1=i-<91} zWCO~#-ASHG<(%uwMYOe{E~vHRW$_ARAPKfDio>P_Y7LU34=+Y#z09*wP1~v>H$a7) zNIlD17DQe%L^!!9RdqSi&TzEtSfnsr%5qV8&Opel90Q#!R?p-r%bG!oC13$LjgOe% z?QOTss$y#7^=nimriPP%sLZXXq*i$Md_)Npj*xzmWDT9ngJT Date: Sun, 17 Nov 2024 08:14:06 +0100 Subject: [PATCH 2/6] feat: Inherit font size for buttons and input --- css/style.css | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/css/style.css b/css/style.css index 88f5b82..1723f3f 100644 --- a/css/style.css +++ b/css/style.css @@ -105,7 +105,9 @@ main { input[type="text"] { font-family: 'Departure Mono'; - width: calc(100% - 20px); + font-size: inherit; + line-height: 1.35; + width: 100%; padding: 10px; border: 2px solid var(--cyber-primary-color); border-radius: 5px; @@ -157,11 +159,12 @@ input[type="text"]:focus { /* Buttons */ button { font-family: 'Departure Mono'; + font-size: inherit; + line-height: 1.35; padding: 10px 20px; border-radius: 5px; background-color: var(--cyber-bg-color); color: var(--cyber-font-color); - font-size: 1rem; cursor: pointer; border: 2px solid transparent; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); From 6128fbacd66bec4373a8c4ee63dc1f9a535ef453 Mon Sep 17 00:00:00 2001 From: Marco Kaiser Date: Sun, 17 Nov 2024 08:15:18 +0100 Subject: [PATCH 3/6] feat: The radio group is now actually usable on mobile - The labels aren't cut off anymore - Instead of trying to fit four buttons next to each other they're now one each line when not enough room is there --- css/style.css | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/css/style.css b/css/style.css index 1723f3f..6286641 100644 --- a/css/style.css +++ b/css/style.css @@ -124,9 +124,14 @@ input[type="text"]:focus { /* Radio Buttons */ .radio-group { display: flex; - justify-content: space-around; + flex-direction: column; + justify-content: space-between; flex-wrap: wrap; + gap: var(--spacing-sm); + @media (width > 768px) { + flex-direction: row; + } } .radio-group input[type="radio"] { @@ -134,8 +139,7 @@ input[type="text"]:focus { } .radio-group label { - width: calc(25% - 10px); - margin: 5px; + flex: 1; padding: 10px; text-align: center; cursor: pointer; From 002e945bbe930207dfca4b5b02c2e3385a4c3b23 Mon Sep 17 00:00:00 2001 From: Marco Kaiser Date: Sun, 17 Nov 2024 08:15:40 +0100 Subject: [PATCH 4/6] feat: Optimize the cyber score slider to fit better on mobile --- css/style.css | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/css/style.css b/css/style.css index 6286641..2033314 100644 --- a/css/style.css +++ b/css/style.css @@ -443,21 +443,25 @@ button:active { /* Slider */ .slider-container { margin: 20px 0; - text-align: center; color: var(--cyber-font-color); display: flex; + flex-wrap: wrap; align-items: center; - justify-content: center; - gap: 15px; + text-align: center; + gap: var(--spacing-sm) var(--spacing-md); } .slider-container label { font-size: 1.2rem; + + @media (width < 568px) { + width: 100%; + } } input[type="range"] { -webkit-appearance: none; - width: 70%; + flex: 1; margin: 10.5px 0; background-color: var(--cyber-faq-bg-color); } @@ -539,7 +543,6 @@ input[type="range"]::-ms-thumb { #sliderValueDisplay { font-size: 1.1rem; - margin-left: 10px; color: var(--cyber-primary-color); font-weight: bold; } From be8c44ab7dbf65ca66d3530b277daa0d10e1b319 Mon Sep 17 00:00:00 2001 From: Marco Kaiser Date: Sun, 17 Nov 2024 08:26:36 +0100 Subject: [PATCH 5/6] refactor: Reduce code duplication by using the section element for general styling - Fix indentation in index.html --- css/style.css | 44 +++------ index.html | 265 +++++++++++++++++++++++++------------------------- 2 files changed, 146 insertions(+), 163 deletions(-) diff --git a/css/style.css b/css/style.css index 2033314..ca4f094 100644 --- a/css/style.css +++ b/css/style.css @@ -87,14 +87,19 @@ main { padding-inline: var(--spacing-sm); max-width: 1000px; margin: 0 auto; -} -.form-section { - background-color: #102f2a; - padding: var(--spacing-md); - border-radius: 10px; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); - margin-bottom: 40px; + section:not(.output-section) { + text-align: left; + background-color: #102f2a; + padding: var(--spacing-md); + border-radius: 10px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); + color: var(--cyber-font-color); + + &:not(:last-child) { + margin-bottom: 40px; + } + } } .input-group, .radio-group, button { @@ -207,27 +212,12 @@ button:active { display: block; } -.output-section { - margin-top: 40px; -} - #outDiv { display: none; margin-top: 30px; text-align: center; } -/* FAQ Section */ -.faq-section { - background-color: var(--cyber-faq-bg-color); - padding: var(--spacing-md); - border-radius: 10px; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); - color: var(--cyber-font-color); - margin-top: 40px; - text-align: left; -} - .faq-section h3 { font-size: 2rem; margin-bottom: 20px; @@ -317,16 +307,6 @@ button:active { .faq-answer li::marker { color: var(--cyber-highlight-color); } -/* Credits Section */ -.credits-section { - background-color: var(--cyber-faq-bg-color); - padding: var(--spacing-md); - border-radius: 10px; - box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); - color: var(--cyber-font-color); - margin-top: 40px; - text-align: left; -} .credits-section h3 { font-size: 2rem; diff --git a/index.html b/index.html index 6834c6d..b75fc03 100644 --- a/index.html +++ b/index.html @@ -24,152 +24,155 @@ - + -

+
Hero Banner
Logo
-
-
-
-
- -
- - - - - - - - -
-
- - - 250 -
- -
-
-
-
-
- +
+
+ +
+ + + + + + + + +
+
+ + + 250 +
+ +
+
+
+
+
+ +
+
+

's Fedi Circle

+
+
+
+
-
-

's Fedi Circle

-
-
-
-
+
+
+
+

Frequently Asked Questions

+ +
+ + +
+

The higher you set the value, the more your Fediverse conversations are examined to determine with which users you interact the most. Imagine it as if you would like to view the last 7 days, the last 14 days, the last 30 days. Note that the higher the value you enter, the longer it takes for your Cyber Circle to be generated.

+
+
+ +
+ + +
+

If a user's profile picture cannot be loaded, a placeholder image (in this case, a Cyberpunk figure) is displayed. This is done to provide a visual substitute in case the original image is unavailable due to loading errors or missing image URLs.

+
+
+ +
+ + +
+

Green Lines: These are default dashed lines that run from the center of the canvas to the user positions. They serve as visual connections between the main user and the other participants. Yellow Lines: These lines may be randomly drawn between different user positions to create additional visual connections and make the layout more dynamic. Red Line: The red line randomly connects the center of the canvas to one of the user positions, adding a highlight to the layout and emphasizing a particular connection.

+
+
+ +
+ + +
+

It adds visual complexity to the canvas and is created using random diagonal lines in a grid pattern.

+
+
+ +
+ + +
+

During the loading of avatars, a progress status is shown on the webpage indicating how many avatars have been successfully loaded (e.g., "Loading avatars: 1/10"). Once all avatars are loaded, this display disappears.

+
+
+ +
+ + +
+

This message indicates that the instance is currently not responding. Please try again later.

+
+
+ +
+ + +
+

Yes, it is possible. Simply change the URL tohttps://ccc.cyber.to/?@revengeday@corteximplant.com, replacing @revengeday@corteximplant.comwith your own account details.

+
+ +
+ + +
+

We understand some users have concerns about data usage by Cyber Circle Creator. This tool is based on a fork of AMNatty/Mastodon-Circles, and user feedback suggests a demand for opt-out capabilities. Here's what we're doing to address these concerns:

+
    +
  1. User Control: Cyber Circle Creator operates entirely within your browser, ensuring that no data is stored on external servers. This design choice was made to enhance user privacy and control, and there's no data analysis performed. +
  2. +
  3. Initial Measures: We've added a user-agent to our create-circle.js file. This allows Fediverse administrators to block Cyber Circle Creator if desired. Guidelines on implementing this measure can be found in our wiki under Opt-Out: Guide for Fediverse Administrators. +
  4. +
  5. Future Plans: We are evaluating ways to implement an opt-out feature to offer more control over data interaction. For more details or to contribute to this effort, please see our Feature Request: Opt-Out from Cyber Circle Creator #6. We are actively seeking collaborators to help develop this feature, despite the technical complexities due to our codebase. +
  6. +
+

If you have further questions or would like to contribute to this effort, please reach out. We appreciate your patience and feedback as we work to enhance user privacy and satisfaction.

-
-
-

Frequently Asked Questions

- -
- - -
-

The higher you set the value, the more your Fediverse conversations are examined to determine with which users you interact the most. Imagine it as if you would like to view the last 7 days, the last 14 days, the last 30 days. Note that the higher the value you enter, the longer it takes for your Cyber Circle to be generated.

-
- -
- - -
-

If a user's profile picture cannot be loaded, a placeholder image (in this case, a Cyberpunk figure) is displayed. This is done to provide a visual substitute in case the original image is unavailable due to loading errors or missing image URLs.

+
+
+

Credits

+
+

+ Cyber Circle Creator builds upon AMNatty/Mastodon-Circles, + which is a further development of andigandhi/Mastodon-Circles. +

+

This project is licensed under the GNU Affero General Public License and benefits from Fedibird support by noellabo, enhancing its functionality even further.

+

+ We invite you to create your own fork of Cyber Circle Creator ♥. +

+

Moreover, the design employs the departure-mono typeface, crafted by rektdeckard and available under the MIT License.

- - -
- - -
-

Green Lines: These are default dashed lines that run from the center of the canvas to the user positions. They serve as visual connections between the main user and the other participants. Yellow Lines: These lines may be randomly drawn between different user positions to create additional visual connections and make the layout more dynamic. Red Line: The red line randomly connects the center of the canvas to one of the user positions, adding a highlight to the layout and emphasizing a particular connection.

-
-
- -
- - -
-

It adds visual complexity to the canvas and is created using random diagonal lines in a grid pattern.

-
-
- -
- - -
-

During the loading of avatars, a progress status is shown on the webpage indicating how many avatars have been successfully loaded (e.g., "Loading avatars: 1/10"). Once all avatars are loaded, this display disappears.

-
-
- -
- - -
-

This message indicates that the instance is currently not responding. Please try again later.

-
-
- -
- - -
-

Yes, it is possible. Simply change the URL to https://ccc.cyber.to/?@revengeday@corteximplant.com, replacing @revengeday@corteximplant.com with your own account details.

-
- -
- - -
-

We understand some users have concerns about data usage by Cyber Circle Creator. This tool is based on a fork of AMNatty/Mastodon-Circles, and user feedback suggests a demand for opt-out capabilities. Here's what we're doing to address these concerns:

-
    -
  1. User Control: Cyber Circle Creator operates entirely within your browser, ensuring that no data is stored on external servers. This design choice was made to enhance user privacy and control, and there's no data analysis performed.
  2. -
  3. Initial Measures: We've added a user-agent to our create-circle.js file. This allows Fediverse administrators to block Cyber Circle Creator if desired. Guidelines on implementing this measure can be found in our wiki under Opt-Out: Guide for Fediverse Administrators.
  4. -
  5. Future Plans: We are evaluating ways to implement an opt-out feature to offer more control over data interaction. For more details or to contribute to this effort, please see our Feature Request: Opt-Out from Cyber Circle Creator #6. We are actively seeking collaborators to help develop this feature, despite the technical complexities due to our codebase.
  6. -
-

If you have further questions or would like to contribute to this effort, please reach out. We appreciate your patience and feedback as we work to enhance user privacy and satisfaction.

-
-
-
-
-
-

Credits

-
-

- Cyber Circle Creator builds upon AMNatty/Mastodon-Circles, - which is a further development of andigandhi/Mastodon-Circles. -

-

This project is licensed under the GNU Affero General Public License and benefits from Fedibird support by noellabo, enhancing its functionality even further.

-

- We invite you to create your own fork of Cyber Circle Creator ♥. -

-

Moreover, the design employs the departure-mono typeface, crafted by rektdeckard and available under the MIT License.

-
-
-
- - - - - - +
+ + + + + + + - \ No newline at end of file + From f367e4b7825918935b3b195a4306575db581336e Mon Sep 17 00:00:00 2001 From: Marco Kaiser Date: Sun, 17 Nov 2024 11:44:47 +0100 Subject: [PATCH 6/6] fix: Remove accidentally pushed font --- fonts/DepartureMono-Regular.woff2 | Bin 17428 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 fonts/DepartureMono-Regular.woff2 diff --git a/fonts/DepartureMono-Regular.woff2 b/fonts/DepartureMono-Regular.woff2 deleted file mode 100644 index 7d8b33b0a53f0c9a2c496e83aaa1ffc3b8bb053f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17428 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

^x;yM%PZJM;QsQ37xS!^ zKnTPE=mQu0ObBRi9DHIDLM%)oTmm#!S01Vp5rxIXW#!~SDM%oV$oyUU?Bgx1zvj+; z(ib|_=`OZ4P_d2{CMG3kWai}N<%cR&u3DwGw+;VEo#=RHyVPYe*p5u0QRxg0n0lKUj3 z&r-$pMOt62`exmCn|=^#A@-BhFLJ*r{h{`kRx7=KjM|v}XVuQGW3lDFGO$Oi9AgzY zR*7d--51zP(a}WDMONNIFlj)JQo5zRwQjTuFcj&QJ{5CAH>bAM+eq0s%G zm}3qAcyVMOEsHuz%FN9Xf&B(n;imwPG`LxmKSpdXm4%z9JSBkCXTqU4K!k0EHiGu) z-U6UKsqLE!&5?IknM=^OZS8e$pSt~>J+4=Um23JahQ5K;pjSjsL}+W@?SKETsb$f& zgRT9(Yrnhq&(;Cg((^NwROEWv#pXyb<`t?q!>v#OBL?8KZ%!wi6U||6 zI8?@bPdfvRfeaBh9Hv9y27`Tg2OO>QZ2%CXVZL?HvWpe2R9XQlQOa3SA)KB8=C6uq zycB>;GY-T{0C+>#C0Ov@Wza_YE(dQVyF46i*cHIn?Oh?dWwI-QNxr*MxR$!B38xx% zwaCUpyV~eI9(QH@W4eeoA;4xDfK6||H-0Kr8A7dCp(3^9loT3H+v&Hr>PjwHzB2hL z8%Qly5Q3nxlWT*!6dLa8@}u9AvX5jsY-sj1=i-<91} zWCO~#-ASHG<(%uwMYOe{E~vHRW$_ARAPKfDio>P_Y7LU34=+Y#z09*wP1~v>H$a7) zNIlD17DQe%L^!!9RdqSi&TzEtSfnsr%5qV8&Opel90Q#!R?p-r%bG!oC13$LjgOe% z?QOTss$y#7^=nimriPP%sLZXXq*i$Md_)Npj*xzmWDT9ngJT