Initial Release

This commit is contained in:
2026-05-24 21:58:23 -07:00
commit 0a782e0096
209 changed files with 11657 additions and 0 deletions
@@ -0,0 +1,102 @@
extends ../_TemplateProfile
block pageHeader
title suzzy - Manage Applications
block pageContent
- var loading_message = 'Applications'
- var empty_message = 'No Applications'
- var empty_source = 'file://icons/icon-app-none.svg'
- var empty_alt = 'No Apps'
p(class='text-hero') Applications
p(class='text-tip') Create applications that interface with suzzy games and it's users.
p(class='text-tip')
| Check out the #[a(href='/library' class='text-tip') library]
| for documentation on how to develop with suzzy games.
div(class='collection-divider')
button(class='default wide' id='action-create' hidden)
| Create New Application
include ../_TemplateProfilePage
//- //- Template Redirect URL
//- div(class='input-redirect' hidden)
//- input(
//- type='text'
//- class='text'
//- autocomplete='off'
//- maxlength=128
//- placeholder='https://example.org/oauth2-redirect'
//- required=true
//- pattern='^(http|https)://.*'
//- )
//- button(class='default destructive') Delete
//- //- Templat Application
//- div(class='collection-item special-shadow' id='application-template' hidden)
//- //- Application Metadata
//- div(class='application-header')
//- img(
//- id='app-icon'
//- aria-hidden='true'
//- class='application-icon'
//- onload='this.style.opacity=1'
//- )
//- div(class='application-info')
//- p(id='app-name' class='text-header') Name
//- p(id='app-desc' class='text-tip') Description
//- p(class='text-tip text-muted' id='verified-message' hidden) ★ Verified Application
//- button(id='input-edit' class='default') Edit
//- //- Application Options
//- div(class='application-options options-hidden')
//- div(class='divider-line')
//- //- Personalization
//- p(class='text-header') About
//- input(
//- id='input-name'
//- placeholder='Name'
//- autocomplete='off'
//- type='text'
//- class='text'
//- maxlength=32
//- )
//- textarea(
//- id='input-desc'
//- placeholder='Description'
//- autocomplete='off'
//- class='text'
//- maxlength=320
//- rows=5
//- style='max-height:200px;'
//- )
//- input(
//- type='file'
//- id='input-icon-file'
//- accept='image/jpeg, image/webp, image/gif, image/png'
//- hidden
//- )
//- button(class='default wide' id='input-icon')
//- | Upload Icon
//- button(class='small text-tip' id='input-icon-remove')
//- | Remove Icon
//- //- Redirects
//- div(class='divider-line')
//- p(class='text-header') Redirects
//- div(id='container-redirects')
//- button(class='default wide' id='input-redirect-new')
//- | New Redirect
//- p(class='text-tip' id='input-clientid') Client ID:
//- //- Actions
//- p(id='status-message')
//- button(class='default wide destructive' id='input-discard' disabled)
//- | Discard
//- button(class='default wide' id='input-save' disabled)
//- | Save Changes
//- //- Danger Zone
//- div(class='divider-line')
//- button(class='default destructive wide' id='input-reset')
//- | Reset Secret Key
//- button(class='default destructive wide' id='input-delete')
//- | Delete Application
script(src='file://scripts/profile-applications.ts')
@@ -0,0 +1,37 @@
extends ../_TemplateProfile
block pageHeader
title suzzy - Manage Connections
block pageContent
- var loading_message = 'Connections'
- var empty_message = 'No Connections'
- var empty_source = 'file://icons/icon-plug-socket.svg'
- var empty_alt = 'Disconnect'
p(class='text-hero') Connections
p(class='text-tip') Manage the connections your account has with applications.
p(class='text-tip')
| Official Applications are labelled with
| #[span(class='text-tip text-muted') (★ Verified Application)]
| under their description.
div(class='collection-divider')
include ../_TemplateProfilePage
//- //- Template Scope
//- div(class='scope' id='scope-template' hidden)
//- div(class='dot-green')
//- span Scope Description
//- //- Template Item
//- div(class='collection-item special-shadow' id='application-template' hidden)
//- div(class='application-header')
//- img(aria-hidden='true' class='application-icon' onload='this.style.opacity=1')
//- div(class='application-info')
//- p(class='text-header') Name
//- p(class='text-tip') Description
//- p(class='text-tip text-muted' id='verified-message' hidden) ★ Verified Application
//- p(class='text-error' id='error-message')
//- button(class='default destructive') Disconnect
//- div(class='text-box')
//- p(class='text-tip') This application can:
//- div(class='scopes')
script(src='file://scripts/profile-connections.ts')
@@ -0,0 +1,30 @@
extends ../_TemplateProfile
block pageHeader
title suzzy - Manage Devices
block pageContent
- var loading_message = 'Devices'
- var empty_message = 'No Devices'
- var empty_source = 'file://icons/icon-app-none.svg'
- var empty_alt = 'Devices'
p(class='text-hero') Devices
p(class='text-tip') Here's a list of devices that are currently logged in with your account.
p(class='text-tip') If you see a device you don't recognize, log it out and change your password immediately.
div(class='collection-divider')
include ../_TemplateProfilePage
//- //- Template Item
//- div(class='item-device collection-item special-shadow' id='device-template' hidden)
//- div(class='device-icon')
//- img(aria-hidden='true' src='/assets/images/icons/icon-desktop.svg' alt='Icon for Desktop')
//- div(class='device-info')
//- div(class='info-alongside')
//- p(id='browser') Chrome on Windows 10
//- p(id='me' class='text-tip text-muted' hidden) (This Device)
//- div(class='info-alongside')
//- p(id='location') Modesto, United States
//- p(id='lastseen' class='text-tip text-muted') 3 hours ago
//- p(class='text-error' id='error-message')
//- button(class='device-action')
//- img(src='/assets/images/icons/icon-cross.svg' alt='Icon for Cross')
script(src='file://scripts/profile-devices.ts')
@@ -0,0 +1,96 @@
extends ../_TemplateProfile
block pageHeader
title suzzy - Manage Profile
block pageContent
- var loading_message = 'Profile'
p(class='text-hero') Profile
p(class='text-tip') Personalize your profile to make it uniquely yours!
p(class='text-tip') Animated Avatars and Banners are supported! Uploads up to 8MB are allowed.
div(class='collection-divider')
include ../_TemplateProfilePage
//- div(class='profile-options text-nopad')
//- //- About Section
//- p(class='text-header') About Me
//- input(
//- type='text'
//- id='input-displayname'
//- class='text'
//- placeholder='Displayname'
//- maxlength=32
//- )
//- input(
//- type='text'
//- id='input-subtitle'
//- class='text'
//- placeholder='Subtitle'
//- maxlength=32
//- )
//- textarea(
//- id='input-bio'
//- class='text'
//- placeholder='Biography'
//- rows=3
//- maxlength=320
//- style='max-height:200px;'
//- )
//- //- Images Section
//- p(class='text-header') Images
//- input(
//- type='file'
//- id='input-avatar-file'
//- accept='image/jpeg, image/webp, image/gif, image/png'
//- hidden
//- )
//- input(
//- type='file'
//- id='input-banner-file'
//- accept='image/jpeg, image/webp, image/gif, image/png'
//- hidden
//- )
//- button(class='default wide' id='button-avatar')
//- | Upload Avatar
//- button(class='small text-tip' id='button-avatar-remove')
//- | Remove Avatar
//- button(class='default wide' id='button-banner')
//- | Upload Banner
//- button(class='small text-tip' id='button-banner-remove')
//- | Remove Banner
//- //- Colors Section
//- p(class='text-header') Accents
//- div(class='widget-container')
//- div(class='widget-color')
//- label(class='text-tip' for='input-banner') Banner
//- input(id='input-banner' type='color' class='color-preview')
//- div(class='widget-color')
//- label(class='text-tip' for='input-border') Border
//- input(id='input-border' type='color' class='color-preview')
//- div(class='widget-color')
//- label(class='text-tip' for='input-background') Background
//- input(id='input-background' type='color' class='color-preview')
//- //- Actions Section
//- div(class='divider-line')
//- p(id='profile-status')
//- button(class='default wide destructive' id='button-cancel' disabled)
//- | Discard
//- button(class='default wide' id='button-submit' disabled)
//- | Save Changes
//- //- Preview
//- div(class='profile-container special-shadow')
//- div(id='profile-banner')
//- div(class='profile-header')
//- img(id='profile-avatar' alt='My Avatar')
//- div(id='profile-badges')
//- div(class='profile-about text-nopad')
//- div(class='info-alongside')
//- p(id='profile-displayname')
//- p(id='profile-username')
//- p(id='profile-subtitle' class='text-tip')
//- div(class='divider-line' id='profile-divider' hidden)
//- pre(id='profile-bio' class='text-tip')
script(src='file://scripts/profile-index.ts')
@@ -0,0 +1,57 @@
extends ../_TemplateProfile
block pageHeader
title suzzy - Manage Account
block pageContent
- var loading_message = 'Account'
p(class='text-hero') Account
p(class='text-tip') Welcome to your account's security settings.
p(class='text-tip') Here, you can manage various security options to help protect your account.
div(class='collection-divider')
include ../_TemplateProfilePage
//- div(id='security-wrapper' hidden)
//- //- Email Address
//- p(class='text-header') Email Address
//- p(class='text-tip' id='preview-email' aria-live='polite')
//- | Current Email Address:
//- p(class='text-error' id='error-email')
//- div(class='collection-wrapper')
//- button(class='default' id='email-reveal')
//- | Reveal Email Address
//- button(class='default' id='email-edit')
//- | Edit Email Address
//- button(class='default' id='email-resend' hidden)
//- | Resend Verification Email
//- div(class='divider-spacer')
//- //- Password
//- p(class='text-header') Password
//- p(class='text-tip') Change your account password, doing so will sign you out on all other devices.
//- button(class='default' id='password-change')
//- | Change Password
//- div(class='divider-spacer')
//- //- Multi-Factor
//- p(class='text-header') Multi-Factor Authentication (MFA)
//- p(class='text-tip') Use an Authenticator App to add an extra layer of security to your account.
//- p(class='text-error' id='error-mfa')
//- div(class='collection-wrapper')
//- button(class='default' id='mfa-setup-start' hidden)
//- | Setup Authenticator App
//- button(class='default destructive' id='mfa-setup-remove' hidden)
//- | Remove Authenticator App
//- button(class='default' id='mfa-recovery-view' hidden)
//- | View Recovery Codes
//- button(class='default destructive' id='mfa-recovery-regen' hidden)
//- | Generate New Codes
//- div(class='divider-spacer')
//- //- Account Deletion
//- div(class='divider-spacer')
//- p(class='text-header') Danger Zone
//- p(class='text-tip') Buttons that will cause major changes to your account.
//- p(class='text-error' id='error-danger')
//- button(class='default destructive' id='danger-deleteaccount')
//- | Request Account Deletion
script(src='file://scripts/profile-security.ts')