Skip to content

Commit 9d76b0e

Browse files
committed
width: 100%;
box-sizing: border-box;
1 parent a1b854b commit 9d76b0e

33 files changed

+950
-770
lines changed

data/store.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ data:
99
url: "https://play.google.com/store/apps/details?id=com.priyadarshi.abhijeet.abintudyog"
1010

1111
- name: "Tiny fish"
12-
icon: "cfd-abint"
12+
icon: "cfd-tinyfish"
1313
url: "https://play.google.com/store/apps/details?id=in.codefrydev.developer.abhijeet.tinyfish"
1414

1515
- name: "Galactic gunner"
16-
icon: "cfd-abint"
16+
icon: "cfd-galacticgunner"
1717
url: "https://play.google.com/store/apps/details?id=org.codefrydev.developer.abhijeet.galacticgunner"

layouts/ai/ai.html

Lines changed: 39 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,48 @@
11
<!DOCTYPE html>
22
<html lang="en">
3-
43
<head>
5-
{{ partial "header.html" . }}
6-
<meta name="description" content="Discover powerful AI tools by CodeFryDev. Use AI SocialSnap, Meme Generator, Visual Note AI, Aqua Tracker, and more AI-powered utilities.">
7-
<meta name="keywords" content="AI tools, artificial intelligence, AI generator, social media AI, meme generator, visual notes, AI summarize, codefrydev AI">
8-
<title>AI Tools - CodeFryDev | AI-Powered Utilities</title>
9-
10-
<link rel="stylesheet" href="/css/internal.css">
4+
{{ partial "header.html" . }}
5+
<meta name="description" content="Discover powerful AI tools by CodeFryDev. Use AI SocialSnap, Meme Generator, Visual Note AI, Aqua Tracker, and more AI-powered utilities.">
6+
<meta name="keywords" content="AI tools, artificial intelligence, AI generator, social media AI, meme generator, visual notes, AI summarize, codefrydev AI">
7+
<title>AI Tools - CodeFryDev | AI-Powered Utilities</title>
8+
9+
{{ with resources.Get "css/home.css" }}
10+
{{ $minifiedCSS := . | resources.Minify }}
11+
<link rel="stylesheet" href="{{ $minifiedCSS.RelPermalink }}">
12+
{{ else }}
13+
{{ warnf "The CSS file 'css/home.css' was not found." }}
14+
{{ end }}
15+
<link rel="stylesheet" href="/css/internal.css">
1116
</head>
12-
1317
<body>
1418
{{ partial "skip-link.html" . }}
15-
<main id="main-content" role="main">
16-
<div class="MainButtonParent">
17-
<a href="/" aria-label="CodeFryDev Homepage">
18-
<img style="align-items: center;" src="/images/IconCodefrydev.svg" alt="CodeFryDev logo" height="96" width="96">
19+
20+
<header class="page-header" role="banner">
21+
<a href="/" aria-label="CodeFryDev Homepage">
22+
<img fetchpriority="high" src="/images/IconCodefrydev.svg" alt="CodeFryDev logo - Tools, Games, Art, Animation" height="96" width="96">
23+
</a>
24+
<h1>CodeFryDev<sup style="font-size: small; font-weight: bold;"> Alpha</sup></h1>
25+
<p class="tagline">Tools, Games, Art, Animation</p>
26+
</header>
27+
28+
<main id="main-content" role="main">
29+
{{ partial "search.html" (dict "containerClass" "search-container" "placeholder" "Search for AI tools, generators, and utilities..." "autofocus" false "Site" .Site "Scratch" .Scratch) }}
30+
<section class="category-section">
31+
<h2 class="category-title">AI Tools</h2>
32+
<div class="button-grid">
33+
{{ range .Site.Data.ai.data }}
34+
<a href="{{ .url }}" class="neumorphic-button hapticButton" aria-label="{{ .name }} - AI tool">
35+
<img src="/images/ai/{{ .icon }}.svg" alt="{{ .name }} icon" class="button-icon" loading="lazy">
36+
<span>{{ .name }}</span>
1937
</a>
20-
</div>
21-
<h1 style="align-items: center;">Meet CFD AI</h1>
22-
23-
<div class="buttons" role="list">
24-
{{ range .Site.Data.ai.data }}
25-
<a href="{{ .url }}" class="neumorphic hapticButton" role="listitem" aria-label="{{ .name }} - AI tool">
26-
<img src="/images/ai/{{ .icon }}.svg" alt="{{ .name }} icon" class="button-icon">
27-
<span>{{ .name }}</span>
28-
</a>
29-
{{ end }}
30-
</div>
31-
</main>
32-
{{ partial "footer.html" . }}
33-
<script src="/js/feedback.js" ></script>
34-
<script src="/js/theme.js"></script>
38+
{{ end }}
39+
</div>
40+
</section>
41+
</main>
42+
43+
{{ partial "footer.html" . }}
44+
<script src="/js/search.js"></script>
45+
<script src="/js/feedback.js" ></script>
46+
<script src="/js/theme.js"></script>
3547
</body>
36-
3748
</html>

layouts/designlab/designlab.html

Lines changed: 39 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,48 @@
11
<!DOCTYPE html>
22
<html lang="en">
3-
43
<head>
5-
{{ partial "header.html" . }}
6-
<meta name="description" content="Explore creative design tools and resources by CodeFryDev. Access design utilities, visualizations, music tools, and artistic applications for your creative projects.">
7-
<meta name="keywords" content="design tools, creative resources, design lab, visualizations, music tools, artistic applications, codefrydev design">
8-
<title>Design Lab - CodeFryDev | Creative Design Tools & Resources</title>
9-
10-
<link rel="stylesheet" href="/css/internal.css">
4+
{{ partial "header.html" . }}
5+
<meta name="description" content="Explore creative design tools and resources by CodeFryDev. Access design utilities, visualizations, music tools, and artistic applications for your creative projects.">
6+
<meta name="keywords" content="design tools, creative resources, design lab, visualizations, music tools, artistic applications, codefrydev design">
7+
<title>Design Lab - CodeFryDev | Creative Design Tools & Resources</title>
8+
9+
{{ with resources.Get "css/home.css" }}
10+
{{ $minifiedCSS := . | resources.Minify }}
11+
<link rel="stylesheet" href="{{ $minifiedCSS.RelPermalink }}">
12+
{{ else }}
13+
{{ warnf "The CSS file 'css/home.css' was not found." }}
14+
{{ end }}
15+
<link rel="stylesheet" href="/css/internal.css">
1116
</head>
12-
1317
<body>
1418
{{ partial "skip-link.html" . }}
15-
<main id="main-content" role="main">
16-
<div class="MainButtonParent">
17-
<a href="/" aria-label="CodeFryDev Homepage">
18-
<img style="align-items: center;" src="/images/IconCodefrydev.svg" alt="CodeFryDev logo" height="96" width="96">
19+
20+
<header class="page-header" role="banner">
21+
<a href="/" aria-label="CodeFryDev Homepage">
22+
<img fetchpriority="high" src="/images/IconCodefrydev.svg" alt="CodeFryDev logo - Tools, Games, Art, Animation" height="96" width="96">
23+
</a>
24+
<h1>CodeFryDev<sup style="font-size: small; font-weight: bold;"> Alpha</sup></h1>
25+
<p class="tagline">Tools, Games, Art, Animation</p>
26+
</header>
27+
28+
<main id="main-content" role="main">
29+
{{ partial "search.html" (dict "containerClass" "search-container" "placeholder" "Search for design tools, visualizations, and creative resources..." "autofocus" false "Site" .Site "Scratch" .Scratch) }}
30+
<section class="category-section">
31+
<h2 class="category-title">Design Lab</h2>
32+
<div class="button-grid">
33+
{{ range .Site.Data.designlab.data }}
34+
<a href="{{ .url }}" class="neumorphic-button hapticButton" aria-label="{{ .name }} - Design tool">
35+
<img src="/images/designlab/{{ .icon }}.svg" alt="{{ .name }} design tool icon" class="button-icon" loading="lazy">
36+
<span>{{ .name }}</span>
1937
</a>
20-
</div>
21-
<h1 style="align-items: center;">Chitra Kala</h1>
22-
23-
<div class="buttons" role="list">
24-
{{ range .Site.Data.designlab.data }}
25-
<a href="{{ .url }}" class="neumorphic hapticButton" role="listitem" aria-label="{{ .name }} - Design tool">
26-
<img src="/images/designlab/{{ .icon }}.svg" alt="{{ .name }} design tool icon" class="button-icon">
27-
<span>{{ .name }}</span>
28-
</a>
29-
{{ end }}
30-
</div>
31-
</main>
32-
{{ partial "footer.html" . }}
33-
<script src="/js/feedback.js" ></script>
34-
<script src="/js/theme.js"></script>
38+
{{ end }}
39+
</div>
40+
</section>
41+
</main>
42+
43+
{{ partial "footer.html" . }}
44+
<script src="/js/search.js"></script>
45+
<script src="/js/feedback.js" ></script>
46+
<script src="/js/theme.js"></script>
3547
</body>
36-
3748
</html>

layouts/games/games.html

Lines changed: 39 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,48 @@
11
<!DOCTYPE html>
22
<html lang="en">
3-
43
<head>
5-
{{ partial "header.html" . }}
6-
<meta name="description" content="Play fun and engaging games by CodeFryDev. Enjoy Chain Reaction, Wordle, Snake, and more exciting games for free.">
7-
<meta name="keywords" content="games, online games, free games, chain reaction, wordle, snake, codefrydev games">
8-
<title>Games - CodeFryDev | Free Online Games</title>
9-
10-
<link rel="stylesheet" href="/css/internal.css">
4+
{{ partial "header.html" . }}
5+
<meta name="description" content="Play fun and engaging games by CodeFryDev. Enjoy Chain Reaction, Wordle, Snake, and more exciting games for free.">
6+
<meta name="keywords" content="games, online games, free games, chain reaction, wordle, snake, codefrydev games">
7+
<title>Games - CodeFryDev | Free Online Games</title>
8+
9+
{{ with resources.Get "css/home.css" }}
10+
{{ $minifiedCSS := . | resources.Minify }}
11+
<link rel="stylesheet" href="{{ $minifiedCSS.RelPermalink }}">
12+
{{ else }}
13+
{{ warnf "The CSS file 'css/home.css' was not found." }}
14+
{{ end }}
15+
<link rel="stylesheet" href="/css/internal.css">
1116
</head>
12-
1317
<body>
1418
{{ partial "skip-link.html" . }}
15-
<main id="main-content" role="main">
16-
<div class="MainButtonParent">
17-
<a href="/" aria-label="CodeFryDev Homepage">
18-
<img style="align-items: center;" src="/images/IconCodefrydev.svg" alt="CodeFryDev logo" height="96" width="96">
19+
20+
<header class="page-header" role="banner">
21+
<a href="/" aria-label="CodeFryDev Homepage">
22+
<img fetchpriority="high" src="/images/IconCodefrydev.svg" alt="CodeFryDev logo - Tools, Games, Art, Animation" height="96" width="96">
23+
</a>
24+
<h1>CodeFryDev<sup style="font-size: small; font-weight: bold;"> Alpha</sup></h1>
25+
<p class="tagline">Tools, Games, Art, Animation</p>
26+
</header>
27+
28+
<main id="main-content" role="main">
29+
{{ partial "search.html" (dict "containerClass" "search-container" "placeholder" "Search for games, puzzles, and fun activities..." "autofocus" false "Site" .Site "Scratch" .Scratch) }}
30+
<section class="category-section">
31+
<h2 class="category-title">Games</h2>
32+
<div class="button-grid">
33+
{{ range .Site.Data.games.data }}
34+
<a href="{{ .url }}" class="neumorphic-button hapticButton" aria-label="{{ .name }} - Play game">
35+
<img src="/images/games/{{ .icon }}.svg" alt="{{ .name }} game icon" class="button-icon" loading="lazy">
36+
<span>{{ .name }}</span>
1937
</a>
20-
</div>
21-
<h1 style="align-items: center;">Play Games</h1>
22-
23-
<div class="buttons" role="list">
24-
{{ range .Site.Data.games.data }}
25-
<a href="{{ .url }}" class="neumorphic hapticButton" role="listitem" aria-label="{{ .name }} - Play game">
26-
<img src="/images/games/{{ .icon }}.svg" alt="{{ .name }} game icon" class="button-icon">
27-
<span>{{ .name }}</span>
28-
</a>
29-
{{ end }}
30-
</div>
31-
</main>
32-
{{ partial "footer.html" . }}
33-
<script src="/js/feedback.js" ></script>
34-
<script src="/js/theme.js"></script>
38+
{{ end }}
39+
</div>
40+
</section>
41+
</main>
42+
43+
{{ partial "footer.html" . }}
44+
<script src="/js/search.js"></script>
45+
<script src="/js/feedback.js" ></script>
46+
<script src="/js/theme.js"></script>
3547
</body>
36-
3748
</html>

layouts/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ <h1>CodeFryDev<sup style="font-size: small; font-weight: bold;"> Alpha</sup></h1
2626
</header>
2727

2828
<main id="main-content" role="main">
29+
{{ partial "search.html" (dict "containerClass" "search-container" "placeholder" "Search for tools, games, AI apps, design resources..." "autofocus" false "Site" .Site "Scratch" .Scratch) }}
2930
{{ range .Site.Data.home.categories }}
3031
<section class="category-section">
3132
<h2 class="category-title">{{ .name }}</h2>
@@ -42,6 +43,7 @@ <h2 class="category-title">{{ .name }}</h2>
4243
</main>
4344

4445
{{ partial "footer.html" . }}
46+
<script src="/js/search.js"></script>
4547
<script src="js/feedback.js" ></script>
4648
<script src="/js/theme.js"></script>
4749
</body>

layouts/partials/search.html

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{{- /* Generate unique ID for this search instance to avoid conflicts */ -}}
2+
{{- $searchID := "" -}}
3+
{{- if .Scratch -}}
4+
{{- $searchID = .Scratch.Get "searchID" -}}
5+
{{- if not $searchID -}}
6+
{{- $searchID = printf "search-%d" (now.UnixNano) -}}
7+
{{- .Scratch.Set "searchID" $searchID -}}
8+
{{- end -}}
9+
{{- else -}}
10+
{{- $searchID = printf "search-%d" (now.UnixNano) -}}
11+
{{- end -}}
12+
13+
{{- /* Get optional parameters with defaults */ -}}
14+
{{- $containerClass := .containerClass | default "search-container" -}}
15+
{{- $placeholder := .placeholder | default "Search for tools, games, AI apps, design resources..." -}}
16+
{{- $autofocus := .autofocus | default false -}}
17+
18+
{{- /* Load search CSS - only load once per page */ -}}
19+
{{- if not (.Scratch.Get "searchCSSLoaded") -}}
20+
{{- .Scratch.Set "searchCSSLoaded" true -}}
21+
<link rel="stylesheet" href="/css/search.css">
22+
{{- end -}}
23+
24+
<div class="{{ $containerClass }}" data-search-id="{{ $searchID }}">
25+
<div class="search-box-wrapper">
26+
<svg class="search-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24">
27+
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
28+
</svg>
29+
<input type="text"
30+
id="{{ $searchID }}-searchInput"
31+
class="search-box"
32+
placeholder="{{ $placeholder }}"
33+
{{ if $autofocus }}autofocus{{ end }}
34+
autocomplete="off">
35+
</div>
36+
37+
<div id="{{ $searchID }}-searchStats" class="search-stats" style="display: none;"></div>
38+
39+
<div id="{{ $searchID }}-searchSuggestions" class="search-suggestions">
40+
<div class="suggestions-title">Suggestions</div>
41+
<div id="{{ $searchID }}-suggestionsGrid" class="suggestions-grid"></div>
42+
</div>
43+
44+
<div id="{{ $searchID }}-searchResults" class="search-results"></div>
45+
46+
<div id="{{ $searchID }}-noResults" class="no-results" style="display: none;">
47+
<div class="no-results-icon">🔍</div>
48+
<h4>No results found</h4>
49+
<p>Try different keywords or browse our categories</p>
50+
</div>
51+
</div>
52+
53+
{{- /* Pass search data and configuration to JavaScript */ -}}
54+
<script>
55+
(function() {
56+
const searchConfig = {
57+
searchID: "{{ $searchID }}",
58+
searchData: {
59+
home: {{ if .Site.Data.home }}{{ .Site.Data.home | jsonify | safeJS }}{{ else }}null{{ end }},
60+
ai: {{ if .Site.Data.ai }}{{ .Site.Data.ai | jsonify | safeJS }}{{ else }}null{{ end }},
61+
games: {{ if .Site.Data.games }}{{ .Site.Data.games | jsonify | safeJS }}{{ else }}null{{ end }},
62+
designlab: {{ if .Site.Data.designlab }}{{ .Site.Data.designlab | jsonify | safeJS }}{{ else }}null{{ end }}
63+
},
64+
baseURL: "{{ .Site.BaseURL }}"
65+
};
66+
67+
// Store config for this search instance
68+
if (!window.searchInstances) {
69+
window.searchInstances = {};
70+
}
71+
window.searchInstances["{{ $searchID }}"] = searchConfig;
72+
})();
73+
</script>

0 commit comments

Comments
 (0)