Skip to content

Commit 6c93cad

Browse files
authored
Merge pull request #296 from fccview/develop
Lift off!
2 parents 2d2435e + 3ede45e commit 6c93cad

310 files changed

Lines changed: 3998 additions & 1501 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Bug Report
2+
description: Report a bug you found within Jotty
3+
title: "[BUG]: "
4+
labels: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thank you for taking the time to fill a bug report, this really helps us improve Jotty's experience for everyone else!
10+
- type: textarea
11+
id: description
12+
attributes:
13+
label: Describe the bug
14+
description: A clear and concise description of what the bug is.
15+
placeholder: Enter your description here...
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: reproduction
20+
attributes:
21+
label: Steps to Reproduce
22+
description: Please list the steps to reproduce the bug. Please be as detailed as possible. Feel free to add screenshots or videos if you have any.
23+
placeholder: Enter your steps to reproduce here...
24+
validations:
25+
required: true
26+
- type: dropdown
27+
id: runner
28+
attributes:
29+
label: How do you run Jotty?
30+
options:
31+
- Docker
32+
- Proxmox community script
33+
- Yarn start
34+
- Unraid
35+
- Other
36+
validations:
37+
required: true
38+
- type: input
39+
id: jotty_version
40+
attributes:
41+
label: Jotty Version
42+
placeholder: latest (ideally type the actual version - e.g. 1.15.0)
43+
validations:
44+
required: true
45+
- type: checkboxes
46+
id: checklist
47+
attributes:
48+
label: Checklist
49+
description: Please verify the following before submitting.
50+
options:
51+
- label: I have searched across other issues to make sure this bug has not been already reported.
52+
required: true
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Feature Request
2+
description: Suggest a feature you'd like to see in Jotty.
3+
title: "[FEATURE]: "
4+
labels: []
5+
body:
6+
- type: textarea
7+
id: feature
8+
attributes:
9+
label: Describe the feature you'd like to see
10+
description: A clear and concise description of what you want to happen.
11+
validations:
12+
required: true
13+
- type: textarea
14+
id: images
15+
attributes:
16+
label: Wireframes or mockups (optional)
17+
description: Add wireframes or mockups if you have any, this really helps speed up the development process in case the idea gets considered.
18+
placeholder: Paste your images here...
19+
validations:
20+
required: false
21+
- type: checkboxes
22+
id: checklist
23+
attributes:
24+
label: Checklist
25+
description: Please verify the following before submitting.
26+
options:
27+
- label: I have searched across other issues to make sure this has not been already suggested.
28+
required: true
29+
- label: I understand this request may be declined if it is not in line with the project's goals.
30+
required: true
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Translations
2+
description: Contribute a new language or fix an existing translation
3+
title: "[I18N]: "
4+
labels: []
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
## Thanks for helping translate Jotty!
10+
11+
Before you start, please ensure you have read our **[Translation Guide](https://github.com/fccview/jotty/blob/main/howto/TRANSLATIONS.md)**.
12+
13+
**Reference Files:**
14+
- You need to copy keys from the **[English Source File (en.json)](https://github.com/fccview/jotty/blob/main/app/_translations/en.json)**.
15+
- Ensure you keep the structure identical.
16+
17+
- type: input
18+
id: language
19+
attributes:
20+
label: Language Name
21+
placeholder: e.g. French, Spanish, Japanese
22+
validations:
23+
required: true
24+
- type: input
25+
id: iso_code
26+
attributes:
27+
label: ISO Code
28+
description: The 2-letter or 4-letter ISO code.
29+
placeholder: e.g. fr, es, ja
30+
validations:
31+
required: true
32+
33+
- type: dropdown
34+
id: type
35+
attributes:
36+
label: Contribution Type
37+
options:
38+
- New Translation
39+
- Update to Existing Translation
40+
validations:
41+
required: true
42+
43+
- type: checkboxes
44+
id: quality_control
45+
attributes:
46+
label: Quality Control Checklist
47+
description: Please verify the following before submitting.
48+
options:
49+
- label: I have read the [Translation Guide](https://github.com/fccview/jotty/blob/main/howto/TRANSLATIONS.md).
50+
required: true
51+
- label: I have verified that all variable placeholders (e.g. `{count}`) are intact and not translated.
52+
required: true
53+
- label: I have tested this translation locally within the app to ensure it loads correctly.
54+
required: true
55+
56+
- type: textarea
57+
id: translation_payload
58+
attributes:
59+
label: Translated Content
60+
description: Paste the translated JSON content here.
61+
render: json
62+
validations:
63+
required: true
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Description
2+
<!-- Enter a description of you pull request here. -->
3+
4+
## Type of change (pick one or more if needed)
5+
- [ ] Bug fix
6+
- [ ] New feature
7+
- [ ] Refactoring
8+
- [ ] Documentation
9+
- [ ] Other
10+
11+
## Please check the following:
12+
- [ ] **Branching:** I branched out of `develop` and I am targeting `develop` for this PR. (Code directed to `main` will be closed).
13+
- [ ] **AI Code:** If I used AI, I have cleaned up the code, removed bloat, and verified logic.
14+
- [ ] **Translations:** I have used translation keys. I have not included any hardcoded strings (see `howto/TRANSLATIONS.md`).
15+
- [ ] **Components:** I used pre-existing components from `app/_components/GlobalComponents/` or `FeatureComponents/` instead of creating duplicates.
16+
- [ ] **Styling:** I have kept styling consistent and avoided inline styles.
17+
- [ ] **Self-Review:** I have performed a self-review of my code.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<p align="center">
2+
<a href="http://discord.gg/invite/mMuk2WzVZu">
3+
<img width="40" src="https://github.com/fccview/jotty/blob/main/public/repo-images/discord_icon.webp?raw=true">
4+
</a>
5+
<br />
6+
<i>Join the discord to stay up to date and have early previews</i>
7+
<br />
8+
</p>
9+
10+
---
11+
12+
!! PLEASE DO NOT USE THIS TEMPLATE UNLESS YOU ARE A MAINTAINER OF THIS REPOSITORY !!
13+
14+
# Changelog
15+
16+
**bugfixes**
17+
<!-- Enter all bugfixes here and tag the relative issue -->
18+
19+
**features**
20+
<!-- Enter all features here and tag the relative issue -->
21+
22+
**New api endpoints**
23+
<!-- Enter all new api endpoints here -->
24+
25+
**Translations**
26+
<!-- Enter all new translations here -->
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Translation Contribution
2+
3+
## Language Details
4+
- **Language:** [e.g. French]
5+
- **ISO Code:** [e.g. fr]
6+
7+
## Contribution Type
8+
- [ ] New Translation
9+
- [ ] Update to Existing Translation
10+
11+
## Checklist
12+
Please confirm the following steps have been completed:
13+
14+
- [ ] I branched out of `develop` and I am targeting `develop` for this PR.
15+
- [ ] I have read the [Translation Guide](https://github.com/fccview/jotty/blob/main/howto/TRANSLATIONS.md).
16+
- [ ] I used [en.json](https://github.com/fccview/jotty/blob/main/app/_translations/en.json) as the source.
17+
- [ ] **Variables:** I kept all variable placeholders (e.g. `{count}`, `{name}`) exactly as they are in English.
18+
- [ ] **Testing:** I loaded this file locally and verified the app doesn't crash.
19+
- [ ] I have only translated the values, not the keys.
20+
21+
## Additional Notes

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<p align="center">
2-
<img src="public/app-icons/logos/logo-variation.svg" alt="Jotty Logo" width="100">
2+
<img src="public/app-icons/logos/logo.svg" alt="Jotty Logo" width="100">
33
<br />
44
<h1 align="center">jotty·page</h1><br/>
55
</p>
@@ -78,7 +78,9 @@ A self-hosted app for your checklists and notes.
7878

7979
## Getting Started
8080

81-
My recommended way to run `jotty·page` is with Docker, or you can use the handy [proxmox community script](https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/jotty.sh)
81+
My recommended way to run `jotty·page` is with Docker. You can also use:
82+
- The [Proxmox community script](https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/jotty.sh) for Proxmox VE
83+
- The [Unraid template](howto/UNRAID.md) for Unraid Community Applications
8284

8385
<a id="docker-compose"></a>
8486

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,21 @@
11
import { UserPreferencesTab } from "@/app/_components/FeatureComponents/Profile/Parts/UserPreferencesTab";
22
import { getCategories } from "@/app/_server/actions/category";
33
import { Modes } from "@/app/_types/enums";
4+
import { getAvailableLocalesWithNames } from '@/app/_utils/locale-utils';
5+
import { getFlagPath } from '@/app/_utils/global-utils';
46

57
export default async function UserPreferencesPage() {
68
const notesCategoriesResult = await getCategories(Modes.NOTES);
79
const notesCategories = notesCategoriesResult.success ? notesCategoriesResult.data : [];
810

9-
return <UserPreferencesTab noteCategories={notesCategories || []} />;
11+
const locales = await getAvailableLocalesWithNames();
12+
const localeOptions = locales.map(({ code, countryCode, name }) => {
13+
const flagPath = getFlagPath(countryCode);
14+
return {
15+
id: code,
16+
name: <><img src={flagPath} alt={name} className="w-5 h-4 inline mr-2"/>{name}</>
17+
};
18+
});
19+
20+
return <UserPreferencesTab noteCategories={notesCategories || []} localeOptions={localeOptions} />;
1021
}

app/(loggedOutRoutes)/auth/login/login-form.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ export default function LoginForm({ ssoEnabled }: { ssoEnabled: boolean }) {
141141

142142
{appVersion && (
143143
<div className="text-center text-xs text-muted-foreground">
144-
{t('version', { version: appVersion })}
144+
<a target="_blank" href={`https://github.com/fccview/jotty/releases/tag/${appVersion}`}>{t('version', { version: appVersion })}</a>
145145
</div>
146146
)}
147147
</div>

app/_components/FeatureComponents/Admin/Parts/AppSettingsTab.tsx

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,25 @@ export const AppSettingsTab = () => {
203203
</span>
204204
</span>
205205
</div>
206+
<div>
207+
<Label htmlFor="hideLanguageSelector" className="block mb-3">
208+
{t("admin.hideLanguageSelector")}
209+
</Label>
210+
<Dropdown
211+
value={settings?.hideLanguageSelector || "no"}
212+
onChange={(value) =>
213+
handleInputChange("hideLanguageSelector", value)
214+
}
215+
options={[
216+
{ id: "yes", name: t("common.yes") },
217+
{ id: "no", name: t("common.no") },
218+
]}
219+
disabled={!isSuperAdmin}
220+
/>
221+
<span className="text-xs text-muted-foreground">
222+
{t("admin.hideLanguageSelectorDescription")}
223+
</span>
224+
</div>
206225
<div>
207226
<div className="flex items-center gap-2 mb-3">
208227
<Label htmlFor="adminContentAccess" className="block">

0 commit comments

Comments
 (0)