feat: Implement links to the official iOS app in the web app #170
@@ -1743,6 +1743,7 @@ def init_db():
|
|||||||
"statistics_tracking_enabled": "1",
|
"statistics_tracking_enabled": "1",
|
||||||
"docs_search_mode": "agent",
|
"docs_search_mode": "agent",
|
||||||
"outbound_proxy_url": "",
|
"outbound_proxy_url": "",
|
||||||
|
"ios_app_url": "https://apps.apple.com/app/devplace/id6797215143",
|
||||||
"devii_lessons_max_per_owner": "500",
|
"devii_lessons_max_per_owner": "500",
|
||||||
"devii_lessons_max_age_days": "90",
|
"devii_lessons_max_age_days": "90",
|
||||||
"moderation_sla_hours": "24",
|
"moderation_sla_hours": "24",
|
||||||
@@ -2142,3 +2143,4 @@ def _backfill_gamification():
|
|||||||
f"{len(checked)} with milestone-eligible activity"
|
f"{len(checked)} with milestone-eligible activity"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -657,6 +657,7 @@ class AdminSettingsForm(BaseModel):
|
|||||||
site_description: str = Field(default="", max_length=500)
|
site_description: str = Field(default="", max_length=500)
|
||||||
site_tagline: str = Field(default="", max_length=500)
|
site_tagline: str = Field(default="", max_length=500)
|
||||||
site_url: str = Field(default="", max_length=300)
|
site_url: str = Field(default="", max_length=300)
|
||||||
|
ios_app_url: str = Field(default="", max_length=300)
|
||||||
max_upload_size_mb: str = Field(default="", max_length=10)
|
max_upload_size_mb: str = Field(default="", max_length=10)
|
||||||
allowed_file_types: str = Field(default="", max_length=1000)
|
allowed_file_types: str = Field(default="", max_length=1000)
|
||||||
max_attachments_per_resource: str = Field(default="", max_length=10)
|
max_attachments_per_resource: str = Field(default="", max_length=10)
|
||||||
@@ -1119,3 +1120,4 @@ class MaturePreferenceForm(BaseModel):
|
|||||||
class AccountDeleteForm(BaseModel):
|
class AccountDeleteForm(BaseModel):
|
||||||
password: str = Field(min_length=1, max_length=128)
|
password: str = Field(min_length=1, max_length=128)
|
||||||
confirm_text: str = Field(default="", max_length=40)
|
confirm_text: str = Field(default="", max_length=40)
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
<!-- retoor <retoor@molodetz.nl> -->
|
||||||
<svg id="livetype" xmlns="http://www.w3.org/2000/svg" width="119.66407" height="40" viewBox="0 0 119.66407 40">
|
<svg id="livetype" xmlns="http://www.w3.org/2000/svg" width="119.66407" height="40" viewBox="0 0 119.66407 40">
|
||||||
<title>Download_on_the_App_Store_Badge_US-UK_RGB_blk_4SVG_092917</title>
|
<title>Download_on_the_App_Store_Badge_US-UK_RGB_blk_4SVG_092917</title>
|
||||||
<g>
|
<g>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@@ -194,6 +194,10 @@ def contact_details() -> dict[str, str]:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def ios_app_url() -> str:
|
||||||
|
return get_setting("ios_app_url", "").strip()
|
||||||
|
|
||||||
|
|
||||||
def policy_version(kind: str) -> str:
|
def policy_version(kind: str) -> str:
|
||||||
return get_setting(f"{kind}_version", "1") or "1"
|
return get_setting(f"{kind}_version", "1") or "1"
|
||||||
|
|
||||||
@@ -380,3 +384,4 @@ def response_time_ms(request=None) -> str:
|
|||||||
|
|
||||||
|
|
||||||
templates.env.globals["response_time_ms"] = response_time_ms
|
templates.env.globals["response_time_ms"] = response_time_ms
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user