---
[en-US]
- Font Imports and Definitions:
- A new file, fonts_dataware.css, has been added. It defines the font faces for variable fonts (e.g. Inter Variable) as well as fallbacks for browsers that do not support them.
- It also includes additional font-face rules for Fira Sans and Fira Mono in various weights and styles.
- Index File Update:
- The main index CSS file now imports the new fonts_dataware.css to ensure that the custom fonts are loaded properly.
- Font Files:
- Numerous new font files (both .ttf and .woff2 formats) for Inter and its various static versions (from Thin to Black, including italic, bold, extra-light, etc.) have been added.
- License files such as the SIL Open Font License (OFL.txt) for Inter and additional documentation (README.txt) have also been included.
- CSS Formatting and Structure:
- The base CSS file has been reformatted for better readability. For example, selector lists are now written on separate lines and numeric values (like margins and gaps) now use explicit decimal notation (e.g. `0.25rem` instead of `.25rem`).
- Responsive and Media Query Adjustments:
- Minor tweaks in the media queries (such as for pagination menus) ensure better spacing and improved layout on small screens.
- Attention Block Styling:
- The styles for blockquotes with different attention levels (note, tip, important, warning, caution) have been updated to list selectors on separate lines, which improves maintainability.
- Dropdown and Menu Adjustments:
- The line-height for dropdowns is now broken into multiple lines for clarity.
- Spacing (gaps) in inline-flex and flex containers has been standardized.
Overall, the diff consolidates formatting improvements across the CSS and updates the font setup to better align with the DATAWARE Forge brand.
---
- Importações e definições de fontes:
- Um novo arquivo, fonts_dataware.css, foi adicionado. Ele define as faces de fonte para fontes variáveis (por exemplo, Inter Variable), bem como fallbacks para navegadores que não as suportam.
- Ele também inclui regras adicionais de faces de fonte para Fira Sans e Fira Mono em vários pesos e estilos.
- Atualização do arquivo de índice:
- O arquivo CSS de índice principal agora importa o novo fonts_dataware.css para garantir que as fontes personalizadas sejam carregadas corretamente.
- Arquivos de fonte:
- Vários novos arquivos de fonte (formatos .ttf e .woff2) para Inter e suas várias versões estáticas (de Thin a Black, incluindo itálico, negrito, extra-light, etc.) foram adicionados.
- Arquivos de licença como a SIL Open Font License (OFL.txt) para Inter e documentação adicional (README.txt) também foram incluídos.
- Formatação e estrutura CSS:
- O arquivo CSS base foi reformatado para melhor legibilidade. Por exemplo, listas de seletores agora são escritas em linhas separadas e valores numéricos (como margens e lacunas) agora usam notação decimal explícita (por exemplo, `0.25rem` em vez de `.25rem`).
- Ajustes responsivos e de consulta de mídia:
- Pequenos ajustes nas consultas de mídia (como para menus de paginação) garantem melhor espaçamento e layout aprimorado em telas pequenas.
- Estilo de bloco de atenção:
- Os estilos para citações em bloco com diferentes níveis de atenção (nota, dica, importante, aviso, cuidado) foram atualizados para listar seletores em linhas separadas, o que melhora a manutenibilidade.
- Ajustes de menu e menu suspenso:
- A altura da linha para menus suspensos agora é dividida em várias linhas para maior clareza.
- O espaçamento (lacunas) em contêineres inline-flex e flex foi padronizado.
No geral, o diff consolida melhorias de formatação em todo o CSS e atualiza a configuração da fonte para melhor alinhamento com a marca DATAWARE Forge.
---
Marcos A. Lucas <mlucas@dataware.com.br>
[en-US]
feat: Update DATAWARE Forge themes
- Set "dataware-light" as the default theme by updating DefaultTheme in modules/setting/ui.go.
- Expanded the theme list to include new entries: "dataware-light2", "dataware-dark2", "dataware-dark2-deuteranopia-protanopia", and "dataware-dark2-tritanopia".
- Added new theme files:
• theme-dataware-dark2.css – A new optimized dark theme.
• theme-dataware-dark2-deuteranopia-protanopia.css – Color adjustments for deuteranopia/protanopia in the dark2 theme.
• theme-dataware-dark2-tritanopia.css – Color adjustments for tritanopia in the dark2 theme.
• theme-dataware-light2.css – A new optimized light theme.
- Standardized formatting changes (spacing, margins) in CSS modules (e.g., divider.css, header.css).
- Redefined the color palette to align with the DATAWARE Forge visual identity, ensuring consistency and improved accessibility.
These changes expand visual options and optimize the user experience for various color vision needs.
[pt-BR]
feat: Atualização dos temas DATAWARE Forge
- Alterado o DefaultTheme para "dataware-light", definindo o tema light como padrão.
- Atualizada a lista de temas para incluir os novos: "dataware-light2", "dataware-dark2", "dataware-dark2-deuteranopia-protanopia" e "dataware-dark2-tritanopia".
- Adicionados novos arquivos de tema:
• theme-dataware-dark2.css – Novo tema dark otimizado.
• theme-dataware-dark2-deuteranopia-protanopia.css – Ajustes de cores para deuteranopia/protanopia no tema dark2.
• theme-dataware-dark2-tritanopia.css – Ajustes de cores para tritanopia no tema dark2.
• theme-dataware-light2.css – Novo tema light otimizado.
- Padronizadas alterações de formatação (espaçamento, margens) em módulos CSS (ex.: divider.css, header.css).
- Reconfigurada a paleta de cores para alinhar com a identidade DATAWARE Forge, garantindo consistência visual e melhor acessibilidade.
Essas alterações ampliam as opções visuais e otimizam a experiência para diferentes necessidades de percepção de cores.
Marcos A. Lucas <mlucas@dataware.com.br>
Adaptação Completa do Tema DATAWARE e Criação de Variantes de Acessibilidade / Complete DATAWARE Theme Integration and Accessibility Variants
**Português:**
- Atualizado o tema padrão e a lista de temas em `modules/setting/ui.go`, alterando o default para `dataware-auto` e adicionando os novos nomes de temas.
- Revisado o arquivo `base.css`:
- Atualizadas as variáveis de tipografia para priorizar as fontes "Inter", "Fira Sans" e "Fira Mono" com os devidos fallbacks.
- Aumentado o valor de `--border-radius-medium` de 6px para 8px para uma aparência mais moderna.
- Criados e adaptados os novos arquivos de tema DATAWARE:
- **`theme-dataware-auto.css`**: Implementa o auto-switch entre light e dark com base na preferência do usuário.
- **`theme-dataware-dark.css`**: Redefinido com a nova paleta de cores para dark mode, utilizando o vermelho institucional (#C62848) como cor primária (com progressões de variações recalculadas) e o azul TI (#2E5A8D) como secundária.
- **`theme-dataware-light.css`**: Aplicado o novo visual para light mode com a cor primária definida como #9E1B32 e demais variações alinhadas à identidade DATAWARE.
- Criadas as variantes de acessibilidade para deficiências na percepção de cores:
- **Dark mode**:
- `theme-dataware-dark-deuteranopia-protanopia.css`
- `theme-dataware-dark-tritanopia.css`
- **Light mode**:
- `theme-dataware-light-deuteranopia-protanopia.css`
- `theme-dataware-light-tritanopia.css`
Esses arquivos ajustam especificamente os backgrounds e bordas dos diffs (adicionados e removidos) e do código para favorecer usuários com deuteranopia/protanopia e tritanopia.
- Atualizadas as cores de badges e outros componentes para refletir a nova identidade visual DATAWARE, garantindo consistência entre os modos claro e escuro.
**English:**
- Updated the default theme and theme list in `modules/setting/ui.go`, changing the default to `dataware-auto` and adding the new theme names.
- Revised the `base.css` file:
- Updated typography variables to prioritize "Inter", "Fira Sans", and "Fira Mono" with proper fallbacks.
- Increased `--border-radius-medium` from 6px to 8px for a more modern appearance.
- Created and adapted new DATAWARE theme files:
- **`theme-dataware-auto.css`**: Implements auto-switch between light and dark modes based on user preference.
- **`theme-dataware-dark.css`**: Redesigned with the new dark mode palette, using the institutional red (#C62848) as the primary color (with recalculated color variations) and TI blue (#2E5A8D) as the secondary.
- **`theme-dataware-light.css`**: Applies the new visual for light mode with the primary color set to #9E1B32 and aligned variations according to the DATAWARE identity.
- Created accessibility variants for color perception deficiencies:
- **Dark mode**:
- `theme-dataware-dark-deuteranopia-protanopia.css`
- `theme-dataware-dark-tritanopia.css`
- **Light mode**:
- `theme-dataware-light-deuteranopia-protanopia.css`
- `theme-dataware-light-tritanopia.css`
These files specifically adjust diff backgrounds, borders, and code backgrounds to accommodate users with deuteranopia/protanopia and tritanopia.
- Updated badge colors and various component styles to fully reflect the new DATAWARE visual identity across both light and dark themes.
---
Este commit consolida todas as alterações necessárias para a personalização do Forge em DATAWARE Forge, garantindo a integração da nova paleta de cores, tipografia e suporte a acessibilidade.
Marcos A. Lucas <mlucas@dataware.com.br>
Accessibility:
- improved semantic layout
- Fixes unlabelled input for custom pronouns. CC @hazy
- Adds labels to dropdowns.
- Shortens certain texts for less verbose screen reader outputs and
people with slow reading speed.
- Turned optional username rename helper text with low contrast into
"normal" help text.
UI/UX:
- Removes section about primary email which is no longer managed in the
profile section.
- Fixes section about primary email not displaying in user settings when notifications are
not available.
- Removes primary email display, because it is not actually a form
element here. (Alternatively, we could display it and link to the
account settings for managing the email)
(cherry picked from commit 2885ea8da2)
- drop custom layout rules for this page
- move form-related content to form.css
- extend new form CSS to add gap between labels and input fields
(cherry picked from commit 471e5b1975)
Added support for searching content in a specific directory or file.
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6143
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Reviewed-by: 0ko <0ko@noreply.codeberg.org>
Co-authored-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
Co-committed-by: Shiny Nematoda <snematoda.751k2@aleeas.com>
Confine the search menu to be at most the width of the page, or 80% of
the viewport width, whichever is smaller. To do this, introduce a new
`--container-width` variable for the descendant elements of
`.ui.container` to be able to access.
Also update the relevant e2e test: add a long 'lorem ipsum' page, add a
search for it, parameterize the width.
I found them to have too little contrast so I tweaked them a bit.
Screenshots and discussion can be found at:
https://codeberg.org/forgejo/forgejo/pulls/1746#issuecomment-2442469
Thanks a lot to @jpkhawam for creating the colorblind themes and for
helping me improving my changes even further! :)
This css class was used to display the "forgot password"-link right and above the password field.
cd75519a0b moves this link, so this class is now unused
UX/Translation changes:
- new teams: remove redundant tooltips that don't add meaningful information
- move general information to table fieldset
- new teams: rename "general" to "custom" access for clarity
- new teams: show labels beside options on mobile
Accessibility:
- semantic form elements allow easier navigation (fieldset, mostly)
- improve better labelling of new teams table
- fix accessibility scan issues
- TODO: the parts that "disable" form elements were not yet touched and
are not really accessible to screenreaders
Technical:
- replace two JavaScript solutions with one CSS standard
- implement a simpler grid (.simple-grid)
- simplify markup
- remove some webhook settings specific CSS
Testing:
- check more form content for accessibility issues
- but exclude tooltips from the scan :(
- reuse existing form tests from previous PR
Remove the snapping of the images on the projects cards, the images are
way too small to notice that when scrolling you're being snapped to
these images and when you do notice it, it doesn't make sense as you
wouldn't expect it to be snapped.
Modifies forms:
- (new) org team
- (new) repo webhook
- (new) repo protected branch
The forms are not completely rewritten to semantic HTML yet. The focus
of this change was on standard elements, some custom solutions were left
untouched for now.
- swaps the order fo permission radio buttons as per https://codeberg.org/forgejo/forgejo/issues/4983
- uses fieldsets to group related inputs
- ensures consistent styling across forms
- can be improved later, e.g. using horizontal lines between sections
- fixes: previous font size of labels was smaller than the font size of the help text
- help text are now part of the label, clicking them now also activates the input
- drop unused CSS (no required checkboxes in grouped class remain)
- playwright testing:
- move login boilerplate to utils
- automated form accessibility checking
- allow defining the scope, because legacy parts of the forms are not yet accessible
- assert some CSS properties that should not be overriden
- the Makefile adjustment was necessary, because eslint scanned some internal files in the tests/e2e/reports directory
- The usage of the `vue-bar-graph` is complicated, because of the `GSAP`
dependency they pull in, the dependency uses a non-free license.
- The code is rewritten to use the `chart.js` library, which is already
used to draw other charts in the activity tab. Due to the limitation of
`chart.js`, we have to create a plugin in order to have images as labels
and do click handling for those images.
- The chart isn't the same as the previous one, once again simply due to
how `chart.js` works, the amount of commits isn't drawn anymore in the
bar, you instead have to hover over it or look at the y-axis.
- Resolves#4569
- Don't make checkpoints or radio inputs full width on a small screen,
these obviously shouldn't try to take up the whole width of a container.
- Wrap the label for organisation permission box inside a `<span
class="inline field">`, so it gets a left-margin from the `.inline.field
> :first-child` selector. This make the checkboxes and radio buttons
groups look indented from the left.
- Resolves#4361
We haven't decided much (to my knowledge), and I've been using the main branch in production (as one does) and found out even I myself rely on Tab sometimes working to move focus and have been caught off guard by it indenting lines instead.
So this removes Tab handling and instead adds two new buttons to the toolbar. The indentation logic is unchanged (other than now focusing the textarea during button handling, to ensure execCommand works, and thus undo history is preserved).
I'm not sure which terminology to use in tooltips. Could also add keyboard shortcuts for the whole toolbar eventually, but as is this is hopefully an better solution to the problems I previously created than un-merging the whole thing :)
<img width="414" alt="Screenshot with two new buttons" src="/attachments/b7af3aa4-a195-48d1-be0a-1559f25dce8e">
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/4263
Reviewed-by: Otto <otto@codeberg.org>
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Danko Aleksejevs <danko@very.lv>
Co-committed-by: Danko Aleksejevs <danko@very.lv>
Closes#2797
I'm aware of https://github.com/go-gitea/gitea/pull/28163 exists, but since I had it laying around on my drive and collecting dust, I might as well open a PR for it if anyone wants the feature a bit sooner than waiting for upstream to release it or to be a forgejo "native" implementation.
This PR Contains:
- Support for the `workflow_dispatch` trigger
- Inputs: boolean, string, number, choice
Things still to be done:
- [x] API Endpoint `/api/v1/<org>/<repo>/actions/workflows/<workflow id>/dispatches`
- ~~Fixing some UI bugs I had no time figuring out, like why dropdown/choice inputs's menu's behave weirdly~~ Unrelated visual bug with dropdowns inside dropdowns
- [x] Fix bug where opening the branch selection submits the form
- [x] Limit on inputs to render/process
Things not in this PR:
- Inputs: environment (First need support for environments in forgejo)
Things needed to test this:
- A patch for https://code.forgejo.org/forgejo/runner to actually consider the inputs inside the workflow.
~~One possible patch can be seen here: https://code.forgejo.org/Mai-Lapyst/runner/src/branch/support-workflow-inputs~~
[PR](https://code.forgejo.org/forgejo/runner/pulls/199)

## Testing
- Checkout PR
- Setup new development runner with [this PR](https://code.forgejo.org/forgejo/runner/pulls/199)
- Create a repo with a workflow (see below)
- Go to the actions tab, select the workflow and see the notice as in the screenshot above
- Use the button + dropdown to run the workflow
- Try also running it via the api using the `` endpoint
- ...
- Profit!
<details>
<summary>Example workflow</summary>
```yaml
on:
workflow_dispatch:
inputs:
logLevel:
description: 'Log Level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
tags:
description: 'Test scenario tags'
required: false
type: boolean
boolean_default_true:
description: 'Test scenario tags'
required: true
type: boolean
default: true
boolean_default_false:
description: 'Test scenario tags'
required: false
type: boolean
default: false
number1_default:
description: 'Number w. default'
default: '100'
type: number
number2:
description: 'Number w/o. default'
type: number
string1_default:
description: 'String w. default'
default: 'Hello world'
type: string
string2:
description: 'String w/o. default'
required: true
type: string
jobs:
test:
runs-on: docker
steps:
- uses: actions/checkout@v3
- run: whoami
- run: cat /etc/issue
- run: uname -a
- run: date
- run: echo ${{ inputs.logLevel }}
- run: echo ${{ inputs.tags }}
- env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- run: echo "abc"
```
</details>
Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/3334
Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org>
Co-authored-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>
Co-committed-by: Mai-Lapyst <mai-lapyst@noreply.codeberg.org>