-
Notifications
You must be signed in to change notification settings - Fork 41
feat: implement landing page and sidebar UI #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
2c992a8
wip: implement landing page and sidebar UI
Venkateshvenki404224 37a5298
feat: implement Penguin UI sidebar and fix width issue (#19)
Venkateshvenki404224 c4d3b9f
fix: update toast colors and replace remove button with icon (#23)
Venkateshvenki404224 879ebaa
fix: the steps should have less z index than navbar
Venkateshvenki404224 60a8fc4
feat: add custom app section, in the custom app dialog show tabs if t…
Venkateshvenki404224 d46f5dc
fix(ui): add separate sections for Frappe Apps and Custom Apps
Venkateshvenki404224 2eec691
fix(ci): update Python version to 3.12
Venkateshvenki404224 1b7f485
fix(ci): update Python version to 3.14
Venkateshvenki404224 72d7f48
fix(ci): update node version to 24
Venkateshvenki404224 3b3be77
fix(ui): redesign the summery page
Venkateshvenki404224 b9720ab
fix: custom image build non type error
Venkateshvenki404224 4fe34a4
chore: removed the schedular to ping server
Venkateshvenki404224 f62e96b
feat: add DNS record instruction like frappe cloud
Venkateshvenki404224 07b5bc6
feat: improve domain UI and add custom apps management
Venkateshvenki404224 5e5c5da
feat: populate old server list when its already available.
Venkateshvenki404224 6d9c69d
feat(ux): add frappe icon in list apps and add app version for mainta…
Venkateshvenki404224 48fc193
fix: linter
Venkateshvenki404224 6595909
chore: rename the placeholder
Venkateshvenki404224 6ee1099
wip(custom_image): Working on Custom Image
Venkateshvenki404224 752ac37
feat: improve domain setup and apps management UI
Venkateshvenki404224 7249743
refactor: add translation support to error messages
Venkateshvenki404224 f048dd1
fix(security): secure GitHub token storage and improve custom apps ma…
Venkateshvenki404224 fe17d3c
fix(custom_image): improve validation, sanitization and performance
Venkateshvenki404224 c66e8f4
fix: improve custom image build and secure custom app
Venkateshvenki404224 6197375
wip: add URL state management for deployment resume
Venkateshvenki404224 02b7e5c
feat(deployment): sync custom image build status to site for seamless…
Venkateshvenki404224 2d5ef1f
refactor(ui): improve server details layout and styling
Venkateshvenki404224 bb91851
refactor: fix memory leaks, redundant operations, and improve validation
Venkateshvenki404224 c1ad4e8
chore: add app version fixtures
Venkateshvenki404224 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| [ | ||
| { | ||
| "docstatus": 0, | ||
| "doctype": "App Version", | ||
| "modified": "2025-12-27 17:08:23.781012", | ||
| "name": "version-14", | ||
| "scrubbed_version": "version-14", | ||
| "version": "Version 14" | ||
| }, | ||
| { | ||
| "docstatus": 0, | ||
| "doctype": "App Version", | ||
| "modified": "2025-12-27 17:08:23.781478", | ||
| "name": "nightly", | ||
| "scrubbed_version": "nightly", | ||
| "version": "Nightly" | ||
| }, | ||
| { | ||
| "docstatus": 0, | ||
| "doctype": "App Version", | ||
| "modified": "2025-12-27 17:08:23.780453", | ||
| "name": "version-15", | ||
| "scrubbed_version": "version-15", | ||
| "version": "Version 15" | ||
| } | ||
| ] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
48 changes: 48 additions & 0 deletions
48
nano_press/nano_press/doctype/app_version/app_version.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| { | ||
| "actions": [], | ||
| "autoname": "", | ||
| "creation": "2025-12-27 00:00:00", | ||
| "doctype": "DocType", | ||
| "engine": "InnoDB", | ||
| "field_order": ["version", "scrubbed_version"], | ||
| "fields": [ | ||
| { | ||
| "fieldname": "version", | ||
| "fieldtype": "Data", | ||
| "in_list_view": 1, | ||
| "label": "Version", | ||
| "reqd": 1, | ||
| "unique": 1 | ||
| }, | ||
| { | ||
| "fieldname": "scrubbed_version", | ||
| "fieldtype": "Data", | ||
| "hidden": 1, | ||
| "label": "Scrubbed Version" | ||
| } | ||
| ], | ||
| "links": [], | ||
| "modified": "2025-12-27 16:34:33.317253", | ||
| "modified_by": "Administrator", | ||
| "module": "Nano Press", | ||
| "name": "App Version", | ||
| "naming_rule": "By script", | ||
| "owner": "Administrator", | ||
| "permissions": [ | ||
| { | ||
| "create": 1, | ||
| "delete": 1, | ||
| "read": 1, | ||
| "role": "System Manager", | ||
| "write": 1 | ||
| }, | ||
| { | ||
| "read": 1, | ||
| "role": "Nano Press User" | ||
| } | ||
| ], | ||
| "row_format": "Dynamic", | ||
| "sort_field": "creation", | ||
| "sort_order": "DESC", | ||
| "states": [] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # Copyright (c) 2025, Build With Hussain and contributors | ||
| # For license information, please see license.txt | ||
|
|
||
| from frappe.model.document import Document | ||
|
|
||
|
|
||
| class AppVersion(Document): | ||
| def autoname(self): | ||
| if self.version: | ||
| self.scrubbed_version = self.version.lower().replace(" ", "-") | ||
| self.name = self.scrubbed_version |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,10 +1,39 @@ | ||
| # Copyright (c) 2025, Venkatesh M and contributors | ||
| # For license information, please see license.txt | ||
|
|
||
| # import frappe | ||
| import frappe | ||
| from frappe.model.document import Document | ||
|
|
||
|
|
||
| class Apps(Document): | ||
| # begin: auto-generated types | ||
| # This code is auto-generated. Do not modify anything in this block. | ||
|
|
||
| from typing import TYPE_CHECKING | ||
|
|
||
| if TYPE_CHECKING: | ||
| from frappe.types import DF | ||
|
|
||
| app_name: DF.Data | ||
| branch: DF.Data | ||
| enabled: DF.Check | ||
| frappe: DF.Check | ||
| is_custom: DF.Check | ||
| is_public: DF.Check | ||
| order: DF.Int | None | ||
| pat_token: DF.Password | None | ||
| repo_url: DF.Data | ||
| repository_owner: DF.Data | None | ||
| scrubbed_name: DF.Data | None | ||
|
|
||
| # end: auto-generated types | ||
|
|
||
| def before_insert(self): | ||
| self.scrubbed_name = self.app_name.replace(" ", "_").lower() | ||
|
|
||
| def validate(self): | ||
| if self.is_custom: | ||
| if self.pat_token: | ||
| self.is_public = 0 | ||
| else: | ||
| self.is_public = 1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are we removing this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because the ping server function expects ip address or server doc so I didn't have any idea on how to pass argument from hooks.py