Skip to content

Add Atlas field details flow, route, UI cards, and soil/GW/reg data#233

Merged
SvenVw merged 57 commits into
developmentfrom
FDM220
Aug 11, 2025
Merged

Add Atlas field details flow, route, UI cards, and soil/GW/reg data#233
SvenVw merged 57 commits into
developmentfrom
FDM220

Conversation

@SvenVw
Copy link
Copy Markdown
Collaborator

@SvenVw SvenVw commented Aug 11, 2025

Summary by CodeRabbit

  • New Features

    • Field details page via map/centroid click showing cultivation history, soil texture, groundwater (GHG/GLG), region, area, and NV/GWBG/Natura2000 flags.
    • Click-to-redirect option from map fields to details pages.
    • New field-level panels and loading skeletons for these details.
  • UI/UX

    • Atlas usable without selecting a farm; calendar-aware Atlas links and persisted map view state.
    • Redesigned landing/farms overview with new cards and simplified headers/breadcrumbs; sidebar Atlas link enabled without a farm.
  • Data

    • BRP 2025 crops added and a new "rustgewas" indicator included in cultivation data.
    • New exports for regional/area checks in calculator package.
  • Chores

    • Changesets added documenting minor version bumps.

Closes #220

SvenVw added 26 commits August 6, 2025 15:26
… that field, like cultivation history and soil texture are shown on fields details page
… farm and atlas. When first logged in show 2 detailed cards with the background information about the farm and atlas tool
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Aug 11, 2025

🦋 Changeset detected

Latest commit: 5019e38

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
@svenvw/fdm-app Minor
@svenvw/fdm-data Minor
@svenvw/fdm-calculator Minor
@svenvw/fdm-core Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Aug 11, 2025

Warning

Rate limit exceeded

@SvenVw has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 4 minutes and 9 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between 0447ae5 and 5019e38.

📒 Files selected for processing (1)
  • fdm-app/app/components/blocks/email/welcome.tsx (2 hunks)

Walkthrough

Adds centroid-click navigation from Atlas fields to a new field details route, implements loader aggregating NMI, catalogue and calculator data, renders cultivation/soil/groundwater/field-detail cards with skeletons, threads new boolean cultivation flag b_lu_rest_oravib through core/data/tests, and re-exports several calculator helpers.

Changes

Cohort / File(s) Summary
Release metadata (changesets)
.changeset/*.md
Adds multiple changeset entries bumping minor versions for @svenvw/fdm-app, @svenvw/fdm-data, and @svenvw/fdm-calculator documenting UI notes, BRP 2025 crops, new exports, and rustgewas flag.
Atlas field-details UI & query
fdm-app/app/components/blocks/atlas-fields/*
fdm-app/app/components/blocks/atlas-fields/query.tsx
Adds CultivationHistoryCard + skeleton, FieldDetailsCard + skeleton, SoilTextureCard + skeleton, GroundwaterCard + skeleton, and getFieldByCentroid feature-resolving helper.
Atlas map interaction & panels
fdm-app/app/components/blocks/atlas/atlas-sources.tsx, .../atlas-panels.tsx, .../atlas-viewstate.tsx
Adds optional redirectToDetailsPage / clickRedirectsToDetailsPage props, registers conditional map click -> centroid navigation, updates panel description logic and broadens viewState input type.
Atlas routes & view persistence
fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields.$centroid.tsx, ...atlas.fields._index.tsx, ...atlas.tsx, ...field.new.tsx, ...create.$b_id_farm.$calendar.atlas.tsx
Adds new field-details route and loader aggregating field, NMI, catalogue, and calculator data; index route now includes calendar, splits available vs saved field layers, persists map viewState, and threads redirect flag through usages.
NMI integration
fdm-app/app/integrations/nmi.ts
Extends soil parameter estimates and Zod schema with b_gwl_ghg, b_gwl_glg, and cultivations array.
Cultivation rustgewas propagation
fdm-core/src/db/schema.ts, fdm-core/src/cultivation.ts, fdm-data/src/*, tests in fdm-core/* & fdm-data/*
Adds nullable boolean b_lu_rest_oravib column to cultivations_catalogue, persists it in catalogue insert/mapping, updates types and many tests (hash expectations updated; adds hash-diff test).
Calculator public API
fdm-calculator/src/index.ts
Re-exports getRegion, isFieldInNVGebied, isFieldInGWGBGebied, isFieldInNatura2000Gebied.
Header / Sidebar / Farm UI adjustments
fdm-app/app/components/blocks/header/*.tsx, .../sidebar/*.tsx, fdm-app/app/routes/farm._index.tsx, fdm-app/app/components/blocks/farm/farm-title.tsx
Simplifies HeaderAtlas props/breadcrumbs, adjusts sidebar atlas link behavior, revamps farm index UI and loader to include calendar, and adds FarmTitleSkeleton.
Minor typing/import tweaks
fdm-app/app/components/blocks/header/action.tsx
Adds type-only JSX import; no runtime change.

Sequence Diagram(s)

sequenceDiagram
  participant U as User
  participant M as Atlas Map
  participant R as Router
  participant L as FieldDetails Loader
  participant Q as getFieldByCentroid
  participant N as NMI API
  participant C as Calculator
  participant D as Data Services

  U->>M: Click field feature
  M->>R: Navigate to /farm/:id/:calendar/atlas/fields/:centroid
  R->>L: loader(params)
  L->>Q: getFieldByCentroid(lon,lat,calendar)
  alt field found
    L->>N: fetch soil parameter estimates
    L->>D: fetch cultivation catalogue
    L->>C: compute region / NV / GWBG / Natura2000
    L-->>R: return aggregated data (cultivationHistory, fieldDetails, soil, groundwater, calendar)
  else none
    L-->>R: return null / error
  end
  R-->>U: render Field Details page (cards & skeletons)
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Assessment against linked issues

Objective Addressed Explanation
Clicking a field redirects to a details page; loader aggregates NMI & catalogue data (#220)
Cultivation history with colored markers and rustgewas badge; display history (#220)
Quick info on hover: show area and current cultivation (#220) Hover panel text updated but explicit current cultivation value in hover payload/UI is not clearly present in the diff.
Interactive map on details page with selected field highlighted and neighbor-click navigation (#220) New details route renders cards but does not embed/highlight an interactive map or neighbor-click navigation in this change set.

Assessment against linked issues: Out-of-scope changes

Code Change Explanation
Sidebar atlas link becomes /farm/undefined/${selectedCalendar}/atlas (fdm-app/app/components/blocks/sidebar/apps.tsx) Global navigation path change; unrelated to the Atlas quick-info/details objectives in #220.
Farm index UI overhaul and loader calendar addition (fdm-app/app/routes/farm._index.tsx) Broad UI/UX redesign of farms overview; not required by the field-details objectives.
HeaderAtlas prop simplification & removal of atlasLayerOptions (fdm-app/app/components/blocks/header/atlas.tsx) Breadcrumb/header simplification is ancillary and not necessary to implement field click→details functionality.

Possibly related PRs

Suggested reviewers

  • gerardhros
  • BoraIneviNMI

Poem

"I hopped across the Atlas pane — a click, a centroid trail,
Fields unveil their histories, rustgewas wears a tiny tail.
Clay, silt, sand in tidy cards, groundwater hums a tune,
I twitch my whiskers, nudge the map — details bloom by noon.
A rabbit cheers the data sprouts beneath the harvest moon."

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch FDM220

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@codecov
Copy link
Copy Markdown

codecov Bot commented Aug 11, 2025

Codecov Report

❌ Patch coverage is 50.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.86%. Comparing base (5605c9a) to head (5019e38).
⚠️ Report is 58 commits behind head on development.

Files with missing lines Patch % Lines
fdm-calculator/src/index.ts 0.00% 2 Missing ⚠️
Additional details and impacted files
@@               Coverage Diff               @@
##           development     #233      +/-   ##
===============================================
- Coverage        92.88%   92.86%   -0.02%     
===============================================
  Files               85       85              
  Lines            12885    12889       +4     
  Branches          1294     1294              
===============================================
+ Hits             11968    11970       +2     
- Misses             915      917       +2     
  Partials             2        2              
Flag Coverage Δ
fdm-calculator 94.57% <0.00%> (-0.04%) ⬇️
fdm-core 91.60% <100.00%> (+<0.01%) ⬆️
fdm-data 94.23% <100.00%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread fdm-app/app/routes/farm.$b_id_farm.$calendar.atlas.fields._index.tsx Dismissed
@coderabbitai coderabbitai Bot added branch:main An issue, affecting the main branch, that requires an hotfix fdm-docs labels Aug 11, 2025
@SvenVw SvenVw requested a review from BoraIneviNMI August 11, 2025 14:12
@SvenVw SvenVw self-assigned this Aug 11, 2025
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
fdm-app/app/components/blocks/email/welcome.tsx (1)

66-69: Intro copy update: clear and on-point. Minor deliverability note.

Copy looks good. Consider ensuring the logo URL is absolute for email clients; many won’t load relative paths. You can derive it from appBaseUrl or fall back to the main link URL.

Example (outside this range) to make logoPath robust:

const base = appBaseUrl || url
const logoPath =
  logoFileName.startsWith("http") ? logoFileName : new URL(logoFileName, base).toString()
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 309eba0 and 0447ae5.

⛔ Files ignored due to path filters (1)
  • fdm-app/app/lib/email.server.ts is excluded by !fdm-app/app/lib/**
📒 Files selected for processing (1)
  • fdm-app/app/components/blocks/email/welcome.tsx (1 hunks)
🔇 Additional comments (1)
fdm-app/app/components/blocks/email/welcome.tsx (1)

124-125: Closing copy: LGTM.

Minor wording tweak is fine and reads naturally.

Comment thread fdm-app/app/components/blocks/email/welcome.tsx
Comment thread fdm-app/app/components/blocks/email/welcome.tsx
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 309eba0 and 0447ae5.

⛔ Files ignored due to path filters (1)
  • fdm-app/app/lib/email.server.ts is excluded by !fdm-app/app/lib/**
📒 Files selected for processing (1)
  • fdm-app/app/components/blocks/email/welcome.tsx (1 hunks)
🔇 Additional comments (5)
fdm-app/app/components/blocks/email/welcome.tsx (5)

66-69: Intro copy LGTM

Concise and clear; good setup for the guided steps.


71-71: Structural divider improves scannability

Good addition for separating intro from the action steps.


118-118: CTA label LGTM

Clear and action-oriented.


124-124: Contact phrasing LGTM

Friendly and straightforward.


32-32: Ensure absolute logo URL for email clients

We searched the repo for <WelcomeEmail(...)> and didn’t find any direct usages, so it’s unclear whether callers always supply an absolute url or a non-empty appBaseUrl. To guarantee the logo is rendered reliably across all email clients, update your logoPath logic as follows:

-    const logoPath = `${appBaseUrl}${logoFileName}`
+    // Ensure absolute URL for email clients
+    const origin = (() => {
+        try {
+            // Prefer explicit base URL; fall back to the URL prop’s origin
+            return appBaseUrl || new URL(url).origin
+        } catch {
+            // If neither is available, origin will be an empty string
+            return appBaseUrl || ""
+        }
+    })()
+    const logoPath = logoFileName.startsWith("http")
+        ? logoFileName
+        : `${origin}${logoFileName.startsWith("/") ? "" : "/"}${logoFileName}`

Next steps:

  • Confirm that every caller of WelcomeEmail passes an absolute url (e.g. https://…) or provides a non-empty appBaseUrl.
  • If you need stricter guarantees, throw an error when both appBaseUrl and the fallback origin are empty.

Comment thread fdm-app/app/components/blocks/email/welcome.tsx Outdated
Comment thread fdm-app/app/components/blocks/email/welcome.tsx Outdated
Comment on lines +115 to +118
className="bg-primary rounded text-primary-foreground text-[14px] font-semibold no-underline px-5 py-3"
href={url}
>
Start met {appName}
Naar de website
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Email-client safe CTA styling: avoid custom Tailwind tokens

Using bg-primary and text-primary-foreground relies on Tailwind config/CSS variables that most email clients won’t resolve. Prefer default Tailwind colors (react-email will inline) or explicit inline styles.

Apply this diff:

-                            <Button
-                                // Use Tailwind padding classes instead of pX/pY props
-                                className="bg-primary rounded text-primary-foreground text-[14px] font-semibold no-underline px-5 py-3"
-                                href={url}
-                            >
+                            <Button
+                                // Use safe, email-friendly classes (react-email will inline these to CSS)
+                                className="bg-blue-600 rounded text-white text-[14px] font-semibold no-underline px-5 py-3"
+                                href={url}
+                            >

Alternatively, set explicit inline styles (strongest compatibility):

  • Keep className for spacing/typography.
  • Add style={{ backgroundColor: "#2563eb", color: "#ffffff" }}.

Also ensure href is an absolute URL (relative links won’t work in emails).


🏁 Script executed:

#!/bin/bash
sed -n '1,200p' fdm-app/app/components/blocks/email/welcome.tsx

Length of output: 6323


Update email CTA styling to use default Tailwind colors

The current bg-primary and text-primary-foreground tokens rely on CSS variables that many email clients won’t resolve. Please replace them with default Tailwind classes (which React Email inlines) and add an explicit inline‐style fallback. Also ensure the href is an absolute URL.

• fdm-app/app/components/blocks/email/welcome.tsx (lines 115–118):

  • Replace the custom color tokens in className
  • Add style prop for strongest compatibility
  • Confirm url is a fully qualified URL before rendering
-                        <Button
-                            // Use Tailwind padding classes instead of pX/pY props
-                            className="bg-primary rounded text-primary-foreground text-[14px] font-semibold no-underline px-5 py-3"
-                            href={url}
-                        >
+                        <Button
+                            // Use safe, email-friendly classes and inline colors
+                            className="bg-blue-600 rounded text-white text-[14px] font-semibold no-underline px-5 py-3"
+                            style={{ backgroundColor: "#2563eb", color: "#ffffff" }}
+                            href={url /* ensure this is an absolute URL */}
+                        >
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
className="bg-primary rounded text-primary-foreground text-[14px] font-semibold no-underline px-5 py-3"
href={url}
>
Start met {appName}
Naar de website
<Button
// Use safe, email-friendly classes and inline colors
className="bg-blue-600 rounded text-white text-[14px] font-semibold no-underline px-5 py-3"
style={{ backgroundColor: "#2563eb", color: "#ffffff" }}
href={url /* ensure this is an absolute URL */}
>
Naar de website
</Button>

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
fdm-app/app/components/blocks/email/welcome.tsx (3)

73-95: Fix typo and use semantic lists instead of manual bullets for accessibility

  • Typo: “Stikstofbaland” → “Stikstofbalans”.
  • Replace manual bullets with
      /
    • for better semantics, screen readers, and more reliable spacing across clients.

    Apply this diff for the bullet block (fixes typo and switches to a list):

    -                            <Text className="text-black text-[14px] leading-[24px] ml-4">
    -                                • Stikstofbaland, bemestingsadvies en
    -                                gebruiksruimte apps. <br />• Beheer van meerdere
    -                                jaren voor een compleet overzicht. <br />• Een
    -                                uitgebreide lijst van meststoffen die je zelf
    -                                kunt aanpassen. <br />• De mogelijkheid om je
    -                                adviseur toegang te geven.
    -                            </Text>
    +                            <ul className="text-black text-[14px] leading-[24px] ml-4 pl-4">
    +                                <li>Apps voor stikstofbalans, bemestingsadvies en gebruiksruimte.</li>
    +                                <li>Beheer van meerdere jaren voor een compleet overzicht.</li>
    +                                <li>Een uitgebreide lijst van meststoffen die je zelf kunt aanpassen.</li>
    +                                <li>De mogelijkheid om je adviseur toegang te geven.</li>
    +                            </ul>

    Optional: if there’s a direct “bedrijf aanmaken” route, consider adding a secondary CTA/link here to increase activation.


    96-110: Improve copy (“tot 2009” → “sinds 2009”) and use semantic list markup

    • “De volledige gewashistorie van percelen tot 2009.” likely intends “sinds 2009” (history available starting 2009).
    • “valt” → “ligt” reads more natural in NL here.
    • Switch to
        /
      • for email/readability.

      Apply this diff for the list:

      -                            <Text className="text-black text-[14px] leading-[24px] ml-4">
      -                                • De volledige gewashistorie van percelen tot
      -                                2009. <br />• Of een perceel in een gebied met
      -                                beperkingen voor de gebruiksruimte valt. <br />•
      -                                Een inschatting van de bodemtextuur en het
      -                                grondwaterpeil.
      -                            </Text>
      +                            <ul className="text-black text-[14px] leading-[24px] ml-4 pl-4">
      +                                <li>De volledige gewashistorie van percelen sinds 2009.</li>
      +                                <li>Of een perceel in een gebied met beperkingen voor de gebruiksruimte ligt.</li>
      +                                <li>Een inschatting van de bodemtextuur en het grondwaterpeil.</li>
      +                            </ul>

      118-118: Ensure email-safe button colors and absolute URL

      The CTA label change is fine. Two checks:

      • Verify that Tailwind tokens (bg-primary, text-primary-foreground) inline to concrete hex colors (not CSS variables). Many email clients don’t support CSS variables.
      • Ensure href is an absolute URL.

      For maximum compatibility, prefer hex colors or inline style. Example:

      <Button
        className="rounded text-[14px] font-semibold no-underline px-5 py-3"
        style={{ backgroundColor: "#0ea5e9", color: "#ffffff" }}
        href={url} // absolute URL like https://app.example.com/...
      >
        Naar de website
      </Button>
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 309eba0 and 0447ae5.

⛔ Files ignored due to path filters (1)
  • fdm-app/app/lib/email.server.ts is excluded by !fdm-app/app/lib/**
📒 Files selected for processing (1)
  • fdm-app/app/components/blocks/email/welcome.tsx (1 hunks)
🔇 Additional comments (3)
fdm-app/app/components/blocks/email/welcome.tsx (3)

66-70: Copy update looks good

Clear, concise intro to the feature overview. No issues.


71-71: Good use of a separator between intro and actions

The


improves scannability in email clients. LGTM.


124-125: Nice touch inviting replies

Encouraging “reply-to” drives engagement and support reachability. LGTM.

Copy link
Copy Markdown
Collaborator

@BoraIneviNMI BoraIneviNMI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks good. I tested out the map position storage, field details screen, and ensured map creation screens works.

About the grid layout used in the field details screen, you could also consider using two different grid templates (the method where you give names to different regions of the grid) if the responsiveness is still problematic somehow. I don't think it is problematic but just as a suggestion, maybe for next time.

@SvenVw
Copy link
Copy Markdown
Collaborator Author

SvenVw commented Aug 11, 2025

Everything looks good. I tested out the map position storage, field details screen, and ensured map creation screens works.

About the grid layout used in the field details screen, you could also consider using two different grid templates (the method where you give names to different regions of the grid) if the responsiveness is still problematic somehow. I don't think it is problematic but just as a suggestion, maybe for next time.

Thanks for suggestion, but is has been resolved with the current code, so I think it is fine to keep it this way

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

branch:main An issue, affecting the main branch, that requires an hotfix enhancement New feature or request fdm-app fdm-calculator fdm-core fdm-data fdm-docs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Atlas: provide quick information about fields

3 participants